PageSourceSearch

https://nhrc.nic.in/assets/js/apexchart.js

js nhrc.nic.in collected 2026-10-02 03:30:39 UTC 1,118,813 bytes, 29,065 lines download raw bytes

1/*!
2 * ApexCharts v3.46.0
3 * (c) 2018-2024 ApexCharts
4 * Released under the MIT License.
5 */
6!(function (t, e) {
7  "object" == typeof exports && "undefined" != typeof module
8    ? (module.exports = e())
9    : "function" == typeof define && define.amd
10    ? define(e)
11    : ((t =
12        "undefined" != typeof globalThis ? globalThis : t || self).ApexCharts =
13        e());
14})(this, function () {
15  "use strict";
16  function t(t, e) {
17    var i = Object.keys(t);
18    if (Object.getOwnPropertySymbols) {
19      var a = Object.getOwnPropertySymbols(t);
20      e &&
21        (a = a.filter(function (e) {
22          return Object.getOwnPropertyDescriptor(t, e).enumerable;
23        })),
24        i.push.apply(i, a);
25    }
26    return i;
27  }
28  function e(e) {
29    for (var i = 1; i < arguments.length; i++) {
30      var a = null != arguments[i] ? arguments[i] : {};
31      i % 2
32        ? t(Object(a), !0).forEach(function (t) {
33            o(e, t, a[t]);
34          })
35        : Object.getOwnPropertyDescriptors
36        ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(a))
37        : t(Object(a)).forEach(function (t) {
38            Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(a, t));
39          });
40    }
41    return e;
42  }
43  function i(t) {
44    return (
45      (i =
46        "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
47          ? function (t) {
48              return typeof t;
49            }
50          : function (t) {
51              return t &&
52                "function" == typeof Symbol &&
53                t.constructor === Symbol &&
54                t !== Symbol.prototype
55                ? "symbol"
56                : typeof t;
57            }),
58      i(t)
59    );
60  }
61  function a(t, e) {
62    if (!(t instanceof e))
63      throw new TypeError("Cannot call a class as a function");
64  }
65  function s(t, e) {
66    for (var i = 0; i < e.length; i++) {
67      var a = e[i];
68      (a.enumerable = a.enumerable || !1),
69        (a.configurable = !0),
70        "value" in a && (a.writable = !0),
71        Object.defineProperty(t, a.key, a);
72    }
73  }
74  function r(t, e, i) {
75    return e && s(t.prototype, e), i && s(t, i), t;
76  }
77  function o(t, e, i) {
78    return (
79      e in t
80        ? Object.defineProperty(t, e, {
81            value: i,
82            enumerable: !0,
83            configurable: !0,
84            writable: !0,
85          })
86        : (t[e] = i),
87      t
88    );
89  }
90  function n(t, e) {
91    if ("function" != typeof e && null !== e)
92      throw new TypeError("Super expression must either be null or a function");
93    (t.prototype = Object.create(e && e.prototype, {
94      constructor: { value: t, writable: !0, configurable: !0 },
95    })),
96      e && h(t, e);
97  }
98  function l(t) {
99    return (
100      (l = Object.setPrototypeOf
101        ? Object.getPrototypeOf
102        : function (t) {
103            return t.__proto__ || Object.getPrototypeOf(t);
104          }),
105      l(t)
106    );
107  }
108  function h(t, e) {
109    return (
110      (h =
111        Object.setPrototypeOf ||
112        function (t, e) {
113          return (t.__proto__ = e), t;
114        }),
115      h(t, e)
116    );
117  }
118  function c(t) {
119    if (void 0 === t)
120      throw new ReferenceError(
121        "this hasn't been initialised - super() hasn't been called"
122      );
123    return t;
124  }
125  function d(t) {
126    var e = (function () {
127      if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
128      if (Reflect.construct.sham) return !1;
129      if ("function" == typeof Proxy) return !0;
130      try {
131        return (
132          Boolean.prototype.valueOf.call(
133            Reflect.construct(Boolean, [], function () {})
134          ),
135          !0
136        );
137      } catch (t) {
138        return !1;
139      }
140    })();
141    return function () {
142      var i,
143        a = l(t);
144      if (e) {
145        var s = l(this).constructor;
146        i = Reflect.construct(a, arguments, s);
147      } else i = a.apply(this, arguments);
148      return (function (t, e) {
149        if (e && ("object" == typeof e || "function" == typeof e)) return e;
150        if (void 0 !== e)
151          throw new TypeError(
152            "Derived constructors may only return object or undefined"
153          );
154        return c(t);
155      })(this, i);
156    };
157  }
158  function g(t, e) {
159    return (
160      (function (t) {
161        if (Array.isArray(t)) return t;
162      })(t) ||
163      (function (t, e) {
164        var i =
165          null == t
166            ? null
167            : ("undefined" != typeof Symbol && t[Symbol.iterator]) ||
168              t["@@iterator"];
169        if (null == i) return;
170        var a,
171          s,
172          r = [],
173          o = !0,
174          n = !1;
175        try {
176          for (
177            i = i.call(t);
178            !(o = (a = i.next()).done) &&
179            (r.push(a.value), !e || r.length !== e);
180            o = !0
181          );
182        } catch (t) {
183          (n = !0), (s = t);
184        } finally {
185          try {
186            o || null == i.return || i.return();
187          } finally {
188            if (n) throw s;
189          }
190        }
191        return r;
192      })(t, e) ||
193      p(t, e) ||
194      (function () {
195        throw new TypeError(
196          "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
197        );
198      })()
199    );
200  }
201  function u(t) {
202    return (
203      (function (t) {
204        if (Array.isArray(t)) return f(t);
205      })(t) ||
206      (function (t) {
207        if (
208          ("undefined" != typeof Symbol && null != t[Symbol.iterator]) ||
209          null != t["@@iterator"]
210        )
211          return Array.from(t);
212      })(t) ||
213      p(t) ||
214      (function () {
215        throw new TypeError(
216          "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
217        );
218      })()
219    );
220  }
221  function p(t, e) {
222    if (t) {
223      if ("string" == typeof t) return f(t, e);
224      var i = Object.prototype.toString.call(t).slice(8, -1);
225      return (
226        "Object" === i && t.constructor && (i = t.constructor.name),
227        "Map" === i || "Set" === i
228          ? Array.from(t)
229          : "Arguments" === i ||
230            /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)
231          ? f(t, e)
232          : void 0
233      );
234    }
235  }
236  function f(t, e) {
237    (null == e || e > t.length) && (e = t.length);
238    for (var i = 0, a = new Array(e); i < e; i++) a[i] = t[i];
239    return a;
240  }
241  var x = (function () {
242      function t() {
243        a(this, t);
244      }
245      return (
246        r(
247          t,
248          [
249            {
250              key: "shadeRGBColor",
251              value: function (t, e) {
252                var i = e.split(","),
253                  a = t < 0 ? 0 : 255,
254                  s = t < 0 ? -1 * t : t,
255                  r = parseInt(i[0].slice(4), 10),
256                  o = parseInt(i[1], 10),
257                  n = parseInt(i[2], 10);
258                return (
259                  "rgb(" +
260                  (Math.round((a - r) * s) + r) +
261                  "," +
262                  (Math.round((a - o) * s) + o) +
263                  "," +
264                  (Math.round((a - n) * s) + n) +
265                  ")"
266                );
267              },
268            },
269            {
270              key: "shadeHexColor",
271              value: function (t, e) {
272                var i = parseInt(e.slice(1), 16),
273                  a = t < 0 ? 0 : 255,
274                  s = t < 0 ? -1 * t : t,
275                  r = i >> 16,
276                  o = (i >> 8) & 255,
277                  n = 255 & i;
278                return (
279                  "#" +
280                  (
281                    16777216 +
282                    65536 * (Math.round((a - r) * s) + r) +
283                    256 * (Math.round((a - o) * s) + o) +
284                    (Math.round((a - n) * s) + n)
285                  )
286                    .toString(16)
287                    .slice(1)
288                );
289              },
290            },
291            {
292              key: "shadeColor",
293              value: function (e, i) {
294                return t.isColorHex(i)
295                  ? this.shadeHexColor(e, i)
296                  : this.shadeRGBColor(e, i);
297              },
298            },
299          ],
300          [
301            {
302              key: "bind",
303              value: function (t, e) {
304                return function () {
305                  return t.apply(e, arguments);
306                };
307              },
308            },
309            {
310              key: "isObject",
311              value: function (t) {
312                return t && "object" === i(t) && !Array.isArray(t) && null != t;
313              },
314            },
315            {
316              key: "is",
317              value: function (t, e) {
318                return (
319                  Object.prototype.toString.call(e) === "[object " + t + "]"
320                );
321              },
322            },
323            {
324              key: "listToArray",
325              value: function (t) {
326                var e,
327                  i = [];
328                for (e = 0; e < t.length; e++) i[e] = t[e];
329                return i;
330              },
331            },
332            {
333              key: "extend",
334              value: function (t, e) {
335                var i = this;
336                "function" != typeof Object.assign &&
337                  (Object.assign = function (t) {
338                    if (null == t)
339                      throw new TypeError(
340                        "Cannot convert undefined or null to object"
341                      );
342                    for (var e = Object(t), i = 1; i < arguments.length; i++) {
343                      var a = arguments[i];
344                      if (null != a)
345                        for (var s in a) a.hasOwnProperty(s) && (e[s] = a[s]);
346                    }
347                    return e;
348                  });
349                var a = Object.assign({}, t);
350                return (
351                  this.isObject(t) &&
352                    this.isObject(e) &&
353                    Object.keys(e).forEach(function (s) {
354                      i.isObject(e[s]) && s in t
355                        ? (a[s] = i.extend(t[s], e[s]))
356                        : Object.assign(a, o({}, s, e[s]));
357                    }),
358                  a
359                );
360              },
361            },
362            {
363              key: "extendArray",
364              value: function (e, i) {
365                var a = [];
366                return (
367                  e.map(function (e) {
368                    a.push(t.extend(i, e));
369                  }),
370                  (e = a)
371                );
372              },
373            },
374            {
375              key: "monthMod",
376              value: function (t) {
377                return t % 12;
378              },
379            },
380            {
381              key: "clone",
382              value: function (e) {
383                if (t.is("Array", e)) {
384                  for (var a = [], s = 0; s < e.length; s++)
385                    a[s] = this.clone(e[s]);
386                  return a;
387                }
388                if (t.is("Null", e)) return null;
389                if (t.is("Date", e)) return e;
390                if ("object" === i(e)) {
391                  var r = {};
392                  for (var o in e)
393                    e.hasOwnProperty(o) && (r[o] = this.clone(e[o]));
394                  return r;
395                }
396                return e;
397              },
398            },
399            {
400              key: "log10",
401              value: function (t) {
402                return Math.log(t) / Math.LN10;
403              },
404            },
405            {
406              key: "roundToBase10",
407              value: function (t) {
408                return Math.pow(10, Math.floor(Math.log10(t)));
409              },
410            },
411            {
412              key: "roundToBase",
413              value: function (t, e) {
414                return Math.pow(e, Math.floor(Math.log(t) / Math.log(e)));
415              },
416            },
417            {
418              key: "parseNumber",
419              value: function (t) {
420                return null === t ? t : parseFloat(t);
421              },
422            },
423            {
424              key: "stripNumber",
425              value: function (t) {
426                var e =
427                  arguments.length > 1 && void 0 !== arguments[1]
428                    ? arguments[1]
429                    : 2;
430                return Number.isInteger(t) ? t : parseFloat(t.toPrecision(e));
431              },
432            },
433            {
434              key: "randomId",
435              value: function () {
436                return (Math.random() + 1).toString(36).substring(4);
437              },
438            },
439            {
440              key: "noExponents",
441              value: function (t) {
442                var e = String(t).split(/[eE]/);
443                if (1 === e.length) return e[0];
444                var i = "",
445                  a = t < 0 ? "-" : "",
446                  s = e[0].replace(".", ""),
447                  r = Number(e[1]) + 1;
448                if (r < 0) {
449                  for (i = a + "0."; r++; ) i += "0";
450                  return i + s.replace(/^-/, "");
451                }
452                for (r -= s.length; r--; ) i += "0";
453                return s + i;
454              },
455            },
456            {
457              key: "getDimensions",
458              value: function (t) {
459                var e = getComputedStyle(t, null),
460                  i = t.clientHeight,
461                  a = t.clientWidth;
462                return (
463                  (i -= parseFloat(e.paddingTop) + parseFloat(e.paddingBottom)),
464                  [
465                    (a -=
466                      parseFloat(e.paddingLeft) + parseFloat(e.paddingRight)),
467                    i,
468                  ]
469                );
470              },
471            },
472            {
473              key: "getBoundingClientRect",
474              value: function (t) {
475                var e = t.getBoundingClientRect();
476                return {
477                  top: e.top,
478                  right: e.right,
479                  bottom: e.bottom,
480                  left: e.left,
481                  width: t.clientWidth,
482                  height: t.clientHeight,
483                  x: e.left,
484                  y: e.top,
485                };
486              },
487            },
488            {
489              key: "getLargestStringFromArr",
490              value: function (t) {
491                return t.reduce(function (t, e) {
492                  return (
493                    Array.isArray(e) &&
494                      (e = e.reduce(function (t, e) {
495                        return t.length > e.length ? t : e;
496                      })),
497                    t.length > e.length ? t : e
498                  );
499                }, 0);
500              },
501            },
502            {
503              key: "hexToRgba",
504              value: function () {
505                var t =
506                    arguments.length > 0 && void 0 !== arguments[0]
507                      ? arguments[0]
508                      : "#999999",
509                  e =
510                    arguments.length > 1 && void 0 !== arguments[1]
511                      ? arguments[1]
512                      : 0.6;
513                "#" !== t.substring(0, 1) && (t = "#999999");
514                var i = t.replace("#", "");
515                i = i.match(new RegExp("(.{" + i.length / 3 + "})", "g"));
516                for (var a = 0; a < i.length; a++)
517                  i[a] = parseInt(1 === i[a].length ? i[a] + i[a] : i[a], 16);
518                return void 0 !== e && i.push(e), "rgba(" + i.join(",") + ")";
519              },
520            },
521            {
522              key: "getOpacityFromRGBA",
523              value: function (t) {
524                return parseFloat(t.replace(/^.*,(.+)\)/, "$1"));
525              },
526            },
527            {
528              key: "rgb2hex",
529              value: function (t) {
530                return (t = t.match(
531                  /^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i
532                )) && 4 === t.length
533                  ? "#" +
534                      ("0" + parseInt(t[1], 10).toString(16)).slice(-2) +
535                      ("0" + parseInt(t[2], 10).toString(16)).slice(-2) +
536                      ("0" + parseInt(t[3], 10).toString(16)).slice(-2)
537                  : "";
538              },
539            },
540            {
541              key: "isColorHex",
542              value: function (t) {
543                return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(
544                  t
545                );
546              },
547            },
548            {
549              key: "getPolygonPos",
550              value: function (t, e) {
551                for (var i = [], a = (2 * Math.PI) / e, s = 0; s < e; s++) {
552                  var r = {};
553                  (r.x = t * Math.sin(s * a)),
554                    (r.y = -t * Math.cos(s * a)),
555                    i.push(r);
556                }
557                return i;
558              },
559            },
560            {
561              key: "polarToCartesian",
562              value: function (t, e, i, a) {
563                var s = ((a - 90) * Math.PI) / 180;
564                return { x: t + i * Math.cos(s), y: e + i * Math.sin(s) };
565              },
566            },
567            {
568              key: "escapeString",
569              value: function (t) {
570                var e =
571                    arguments.length > 1 && void 0 !== arguments[1]
572                      ? arguments[1]
573                      : "x",
574                  i = t.toString().slice();
575                return (i = i.replace(
576                  /[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,
577                  e
578                ));
579              },
580            },
581            {
582              key: "negToZero",
583              value: function (t) {
584                return t < 0 ? 0 : t;
585              },
586            },
587            {
588              key: "moveIndexInArray",
589              value: function (t, e, i) {
590                if (i >= t.length)
591                  for (var a = i - t.length + 1; a--; ) t.push(void 0);
592                return t.splice(i, 0, t.splice(e, 1)[0]), t;
593              },
594            },
595            {
596              key: "extractNumber",
597              value: function (t) {
598                return parseFloat(t.replace(/[^\d.]*/g, ""));
599              },
600            },
601            {
602              key: "findAncestor",
603              value: function (t, e) {
604                for (; (t = t.parentElement) && !t.classList.contains(e); );
605                return t;
606              },
607            },
608            {
609              key: "setELstyles",
610              value: function (t, e) {
611                for (var i in e) e.hasOwnProperty(i) && (t.style.key = e[i]);
612              },
613            },
614            {
615              key: "isNumber",
616              value: function (t) {
617                return (
618                  !isNaN(t) &&
619                  parseFloat(Number(t)) === t &&
620                  !isNaN(parseInt(t, 10))
621                );
622              },
623            },
624            {
625              key: "isFloat",
626              value: function (t) {
627                return Number(t) === t && t % 1 != 0;
628              },
629            },
630            {
631              key: "isSafari",
632              value: function () {
633                return /^((?!chrome|android).)*safari/i.test(
634                  navigator.userAgent
635                );
636              },
637            },
638            {
639              key: "isFirefox",
640              value: function () {
641                return (
642                  navigator.userAgent.toLowerCase().indexOf("firefox") > -1
643                );
644              },
645            },
646            {
647              key: "isIE11",
648              value: function () {
649                if (
650                  -1 !== window.navigator.userAgent.indexOf("MSIE") ||
651                  window.navigator.appVersion.indexOf("Trident/") > -1
652                )
653                  return !0;
654              },
655            },
656            {
657              key: "isIE",
658              value: function () {
659                var t = window.navigator.userAgent,
660                  e = t.indexOf("MSIE ");
661                if (e > 0)
662                  return parseInt(t.substring(e + 5, t.indexOf(".", e)), 10);
663                if (t.indexOf("Trident/") > 0) {
664                  var i = t.indexOf("rv:");
665                  return parseInt(t.substring(i + 3, t.indexOf(".", i)), 10);
666                }
667                var a = t.indexOf("Edge/");
668                return (
669                  a > 0 && parseInt(t.substring(a + 5, t.indexOf(".", a)), 10)
670                );
671              },
672            },
673            {
674              key: "getGCD",
675              value: function (t, e) {
676                var i =
677                    arguments.length > 2 && void 0 !== arguments[2]
678                      ? arguments[2]
679                      : 7,
680                  a = Math.pow(10, i - Math.floor(Math.log10(Math.max(t, e))));
681                for (
682                  t = Math.round(Math.abs(t) * a),
683                    e = Math.round(Math.abs(e) * a);
684                  e;
685
686                ) {
687                  var s = e;
688                  (e = t % e), (t = s);
689                }
690                return t / a;
691              },
692            },
693            {
694              key: "getPrimeFactors",
695              value: function (t) {
696                for (var e = [], i = 2; t >= 2; )
697                  t % i == 0 ? (e.push(i), (t /= i)) : i++;
698                return e;
699              },
700            },
701            {
702              key: "mod",
703              value: function (t, e) {
704                var i =
705                    arguments.length > 2 && void 0 !== arguments[2]
706                      ? arguments[2]
707                      : 7,
708                  a = Math.pow(10, i - Math.floor(Math.log10(Math.max(t, e))));
709                return (
710                  ((t = Math.round(Math.abs(t) * a)) %
711                    (e = Math.round(Math.abs(e) * a))) /
712                  a
713                );
714              },
715            },
716          ]
717        ),
718        t
719      );
720    })(),
721    b = (function () {
722      function t(e) {
723        a(this, t), (this.ctx = e), (this.w = e.w), this.setEasingFunctions();
724      }
725      return (
726        r(t, [
727          {
728            key: "setEasingFunctions",
729            value: function () {
730              var t;
731              if (!this.w.globals.easing) {
732                switch (this.w.config.chart.animations.easing) {
733                  case "linear":
734                    t = "-";
735                    break;
736                  case "easein":
737                    t = "<";
738                    break;
739                  case "easeout":
740                    t = ">";
741                    break;
742                  case "easeinout":
743                  default:
744                    t = "<>";
745                    break;
746                  case "swing":
747                    t = function (t) {
748                      var e = 1.70158;
749                      return (t -= 1) * t * ((e + 1) * t + e) + 1;
750                    };
751                    break;
752                  case "bounce":
753                    t = function (t) {
754                      return t < 1 / 2.75
755                        ? 7.5625 * t * t
756                        : t < 2 / 2.75
757                        ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75
758                        : t < 2.5 / 2.75
759                        ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375
760                        : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375;
761                    };
762                    break;
763                  case "elastic":
764                    t = function (t) {
765                      return t === !!t
766                        ? t
767                        : Math.pow(2, -10 * t) *
768                            Math.sin(((t - 0.075) * (2 * Math.PI)) / 0.3) +
769                            1;
770                    };
771                }
772                this.w.globals.easing = t;
773              }
774            },
775          },
776          {
777            key: "animateLine",
778            value: function (t, e, i, a) {
779              t.attr(e).animate(a).attr(i);
780            },
781          },
782          {
783            key: "animateMarker",
784            value: function (t, e, i, a, s, r) {
785              e || (e = 0),
786                t
787                  .attr({ r: e, width: e, height: e })
788                  .animate(a, s)
789                  .attr({ r: i, width: i.width, height: i.height })
790                  .afterAll(function () {
791                    r();
792                  });
793            },
794          },
795          {
796            key: "animateCircle",
797            value: function (t, e, i, a, s) {
798              t.attr({ r: e.r, cx: e.cx, cy: e.cy })
799                .animate(a, s)
800                .attr({ r: i.r, cx: i.cx, cy: i.cy });
801            },
802          },
803          {
804            key: "animateRect",
805            value: function (t, e, i, a, s) {
806              t.attr(e)
807                .animate(a)
808                .attr(i)
809                .afterAll(function () {
810                  return s();
811                });
812            },
813          },
814          {
815            key: "animatePathsGradually",
816            value: function (t) {
817              var e = t.el,
818                i = t.realIndex,
819                a = t.j,
820                s = t.fill,
821                r = t.pathFrom,
822                o = t.pathTo,
823                n = t.speed,
824                l = t.delay,
825                h = this.w,
826                c = 0;
827              h.config.chart.animations.animateGradually.enabled &&
828                (c = h.config.chart.animations.animateGradually.delay),
829                h.config.chart.animations.dynamicAnimation.enabled &&
830                  h.globals.dataChanged &&
831                  "bar" !== h.config.chart.type &&
832                  (c = 0),
833                this.morphSVG(
834                  e,
835                  i,
836                  a,
837                  "line" !== h.config.chart.type || h.globals.comboCharts
838                    ? s
839                    : "stroke",
840                  r,
841                  o,
842                  n,
843                  l * c
844                );
845            },
846          },
847          {
848            key: "showDelayedElements",
849            value: function () {
850              this.w.globals.delayedElements.forEach(function (t) {
851                var e = t.el;
852                e.classList.remove("apexcharts-element-hidden"),
853                  e.classList.add("apexcharts-hidden-element-shown");
854              });
855            },
856          },
857          {
858            key: "animationCompleted",
859            value: function (t) {
860              var e = this.w;
861              e.globals.animationEnded ||
862                ((e.globals.animationEnded = !0),
863                this.showDelayedElements(),
864                "function" == typeof e.config.chart.events.animationEnd &&
865                  e.config.chart.events.animationEnd(this.ctx, {
866                    el: t,
867                    w: e,
868                  }));
869            },
870          },
871          {
872            key: "morphSVG",
873            value: function (t, e, i, a, s, r, o, n) {
874              var l = this,
875                h = this.w;
876              s || (s = t.attr("pathFrom")), r || (r = t.attr("pathTo"));
877              var c = function (t) {
878                return (
879                  "radar" === h.config.chart.type && (o = 1),
880                  "M 0 ".concat(h.globals.gridHeight)
881                );
882              };
883              (!s || s.indexOf("undefined") > -1 || s.indexOf("NaN") > -1) &&
884                (s = c()),
885                (!r || r.indexOf("undefined") > -1 || r.indexOf("NaN") > -1) &&
886                  (r = c()),
887                h.globals.shouldAnimate || (o = 1),
888                t
889                  .plot(s)
890                  .animate(1, h.globals.easing, n)
891                  .plot(s)
892                  .animate(o, h.globals.easing, n)
893                  .plot(r)
894                  .afterAll(function () {
895                    x.isNumber(i)
896                      ? i ===
897                          h.globals.series[h.globals.maxValsInArrayIndex]
898                            .length -
899                            2 &&
900                        h.globals.shouldAnimate &&
901                        l.animationCompleted(t)
902                      : "none" !== a &&
903                        h.globals.shouldAnimate &&
904                        ((!h.globals.comboCharts &&
905                          e === h.globals.series.length - 1) ||
906                          h.globals.comboCharts) &&
907                        l.animationCompleted(t),
908                      l.showDelayedElements();
909                  });
910            },
911          },
912        ]),
913        t
914      );
915    })(),
916    v = (function () {
917      function t(e) {
918        a(this, t), (this.ctx = e), (this.w = e.w);
919      }
920      return (
921        r(t, [
922          {
923            key: "getDefaultFilter",
924            value: function (t, e) {
925              var i = this.w;
926              t.unfilter(!0),
927                new window.SVG.Filter().size("120%", "180%", "-5%", "-40%"),
928                "none" !== i.config.states.normal.filter
929                  ? this.applyFilter(
930                      t,
931                      e,
932                      i.config.states.normal.filter.type,
933                      i.config.states.normal.filter.value
934                    )
935                  : i.config.chart.dropShadow.enabled &&
936                    this.dropShadow(t, i.config.chart.dropShadow, e);
937            },
938          },
939          {
940            key: "addNormalFilter",
941            value: function (t, e) {
942              var i = this.w;
943              i.config.chart.dropShadow.enabled &&
944                !t.node.classList.contains("apexcharts-marker") &&
945                this.dropShadow(t, i.config.chart.dropShadow, e);
946            },
947          },
948          {
949            key: "addLightenFilter",
950            value: function (t, e, i) {
951              var a = this,
952                s = this.w,
953                r = i.intensity;
954              t.unfilter(!0);
955              new window.SVG.Filter();
956              t.filter(function (t) {
957                var i = s.config.chart.dropShadow;
958                (i.enabled ? a.addShadow(t, e, i) : t).componentTransfer({
959                  rgb: { type: "linear", slope: 1.5, intercept: r },
960                });
961              }),
962                t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse"),
963                this._scaleFilterSize(t.filterer.node);
964            },
965          },
966          {
967            key: "addDarkenFilter",
968            value: function (t, e, i) {
969              var a = this,
970                s = this.w,
971                r = i.intensity;
972              t.unfilter(!0);
973              new window.SVG.Filter();
974              t.filter(function (t) {
975                var i = s.config.chart.dropShadow;
976                (i.enabled ? a.addShadow(t, e, i) : t).componentTransfer({
977                  rgb: { type: "linear", slope: r },
978                });
979              }),
980                t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse"),
981                this._scaleFilterSize(t.filterer.node);
982            },
983          },
984          {
985            key: "applyFilter",
986            value: function (t, e, i) {
987              var a =
988                arguments.length > 3 && void 0 !== arguments[3]
989                  ? arguments[3]
990                  : 0.5;
991              switch (i) {
992                case "none":
993                  this.addNormalFilter(t, e);
994                  break;
995                case "lighten":
996                  this.addLightenFilter(t, e, { intensity: a });
997                  break;
998                case "darken":
999                  this.addDarkenFilter(t, e, { intensity: a });
1000              }
1001            },
1002          },
1003          {
1004            key: "addShadow",
1005            value: function (t, e, i) {
1006              var a,
1007                s = this.w,
1008                r = i.blur,
1009                o = i.top,
1010                n = i.left,
1011                l = i.color,
1012                h = i.opacity;
1013              if (
1014                (null === (a = s.config.chart.dropShadow.enabledOnSeries) ||
1015                void 0 === a
1016                  ? void 0
1017                  : a.length) > 0 &&
1018                -1 === s.config.chart.dropShadow.enabledOnSeries.indexOf(e)
1019              )
1020                return t;
1021              var c = t
1022                .flood(Array.isArray(l) ? l[e] : l, h)
1023                .composite(t.sourceAlpha, "in")
1024                .offset(n, o)
1025                .gaussianBlur(r)
1026                .merge(t.source);
1027              return t.blend(t.source, c);
1028            },
1029          },
1030          {
1031            key: "dropShadow",
1032            value: function (t, e) {
1033              var i,
1034                a,
1035                s =
1036                  arguments.length > 2 && void 0 !== arguments[2]
1037                    ? arguments[2]
1038                    : 0,
1039                r = e.top,
1040                o = e.left,
1041                n = e.blur,
1042                l = e.color,
1043                h = e.opacity,
1044                c = e.noUserSpaceOnUse,
1045                d = this.w;
1046              if (
1047                (t.unfilter(!0),
1048                x.isIE() && "radialBar" === d.config.chart.type)
1049              )
1050                return t;
1051              if (
1052                (null === (i = d.config.chart.dropShadow.enabledOnSeries) ||
1053                void 0 === i
1054                  ? void 0
1055                  : i.length) > 0 &&
1056                -1 ===
1057                  (null === (a = d.config.chart.dropShadow.enabledOnSeries) ||
1058                  void 0 === a
1059                    ? void 0
1060                    : a.indexOf(s))
1061              )
1062                return t;
1063              return (
1064                (l = Array.isArray(l) ? l[s] : l),
1065                t.filter(function (t) {
1066                  var e = null;
1067                  (e =
1068                    x.isSafari() || x.isFirefox() || x.isIE()
1069                      ? t
1070                          .flood(l, h)
1071                          .composite(t.sourceAlpha, "in")
1072                          .offset(o, r)
1073                          .gaussianBlur(n)
1074                      : t
1075                          .flood(l, h)
1076                          .composite(t.sourceAlpha, "in")
1077                          .offset(o, r)
1078                          .gaussianBlur(n)
1079                          .merge(t.source)),
1080                    t.blend(t.source, e);
1081                }),
1082                c ||
1083                  t.filterer.node.setAttribute("filterUnits", "userSpaceOnUse"),
1084                this._scaleFilterSize(t.filterer.node),
1085                t
1086              );
1087            },
1088          },
1089          {
1090            key: "setSelectionFilter",
1091            value: function (t, e, i) {
1092              var a = this.w;
1093              if (
1094                void 0 !== a.globals.selectedDataPoints[e] &&
1095                a.globals.selectedDataPoints[e].indexOf(i) > -1
1096              ) {
1097                t.node.setAttribute("selected", !0);
1098                var s = a.config.states.active.filter;
1099                "none" !== s && this.applyFilter(t, e, s.type, s.value);
1100              }
1101            },
1102          },
1103          {
1104            key: "_scaleFilterSize",
1105            value: function (t) {
1106              !(function (e) {
1107                for (var i in e) e.hasOwnProperty(i) && t.setAttribute(i, e[i]);
1108              })({ width: "200%", height: "200%", x: "-50%", y: "-50%" });
1109            },
1110          },
1111        ]),
1112        t
1113      );
1114    })(),
1115    m = (function () {
1116      function t(e) {
1117        a(this, t), (this.ctx = e), (this.w = e.w);
1118      }
1119      return (
1120        r(
1121          t,
1122          [
1123            {
1124              key: "roundPathCorners",
1125              value: function (t, e) {
1126                function i(t, e, i) {
1127                  var s = e.x - t.x,
1128                    r = e.y - t.y,
1129                    o = Math.sqrt(s * s + r * r);
1130                  return a(t, e, Math.min(1, i / o));
1131                }
1132                function a(t, e, i) {
1133                  return { x: t.x + (e.x - t.x) * i, y: t.y + (e.y - t.y) * i };
1134                }
1135                function s(t, e) {
1136                  t.length > 2 &&
1137                    ((t[t.length - 2] = e.x), (t[t.length - 1] = e.y));
1138                }
1139                function r(t) {
1140                  return {
1141                    x: parseFloat(t[t.length - 2]),
1142                    y: parseFloat(t[t.length - 1]),
1143                  };
1144                }
1145                t.indexOf("NaN") > -1 && (t = "");
1146                var o = t
1147                    .split(/[,\s]/)
1148                    .reduce(function (t, e) {
1149                      var i = e.match("([a-zA-Z])(.+)");
1150                      return i ? (t.push(i[1]), t.push(i[2])) : t.push(e), t;
1151                    }, [])
1152                    .reduce(function (t, e) {
1153                      return (
1154                        parseFloat(e) == e && t.length
1155                          ? t[t.length - 1].push(e)
1156                          : t.push([e]),
1157                        t
1158                      );
1159                    }, []),
1160                  n = [];
1161                if (o.length > 1) {
1162                  var l = r(o[0]),
1163                    h = null;
1164                  "Z" == o[o.length - 1][0] &&
1165                    o[0].length > 2 &&
1166                    ((h = ["L", l.x, l.y]), (o[o.length - 1] = h)),
1167                    n.push(o[0]);
1168                  for (var c = 1; c < o.length; c++) {
1169                    var d = n[n.length - 1],
1170                      g = o[c],
1171                      u = g == h ? o[1] : o[c + 1];
1172                    if (
1173                      u &&
1174                      d &&
1175                      d.length > 2 &&
1176                      "L" == g[0] &&
1177                      u.length > 2 &&
1178                      "L" == u[0]
1179                    ) {
1180                      var p,
1181                        f,
1182                        x = r(d),
1183                        b = r(g),
1184                        v = r(u);
1185                      (p = i(b, x, e)),
1186                        (f = i(b, v, e)),
1187                        s(g, p),
1188                        (g.origPoint = b),
1189                        n.push(g);
1190                      var m = a(p, b, 0.5),
1191                        y = a(b, f, 0.5),
1192                        w = ["C", m.x, m.y, y.x, y.y, f.x, f.y];
1193                      (w.origPoint = b), n.push(w);
1194                    } else n.push(g);
1195                  }
1196                  if (h) {
1197                    var k = r(n[n.length - 1]);
1198                    n.push(["Z"]), s(n[0], k);
1199                  }
1200                } else n = o;
1201                return n.reduce(function (t, e) {
1202                  return t + e.join(" ") + " ";
1203                }, "");
1204              },
1205            },
1206            {
1207              key: "drawLine",
1208              value: function (t, e, i, a) {
1209                var s =
1210                    arguments.length > 4 && void 0 !== arguments[4]
1211                      ? arguments[4]
1212                      : "#a8a8a8",
1213                  r =
1214                    arguments.length > 5 && void 0 !== arguments[5]
1215                      ? arguments[5]
1216                      : 0,
1217                  o =
1218                    arguments.length > 6 && void 0 !== arguments[6]
1219                      ? arguments[6]
1220                      : null,
1221                  n =
1222                    arguments.length > 7 && void 0 !== arguments[7]
1223                      ? arguments[7]
1224                      : "butt";
1225                return this.w.globals.dom.Paper.line().attr({
1226                  x1: t,
1227                  y1: e,
1228                  x2: i,
1229                  y2: a,
1230                  stroke: s,
1231                  "stroke-dasharray": r,
1232                  "stroke-width": o,
1233                  "stroke-linecap": n,
1234                });
1235              },
1236            },
1237            {
1238              key: "drawRect",
1239              value: function () {
1240                var t =
1241                    arguments.length > 0 && void 0 !== arguments[0]
1242                      ? arguments[0]
1243                      : 0,
1244                  e =
1245                    arguments.length > 1 && void 0 !== arguments[1]
1246                      ? arguments[1]
1247                      : 0,
1248                  i =
1249                    arguments.length > 2 && void 0 !== arguments[2]
1250                      ? arguments[2]
1251                      : 0,
1252                  a =
1253                    arguments.length > 3 && void 0 !== arguments[3]
1254                      ? arguments[3]
1255                      : 0,
1256                  s =
1257                    arguments.length > 4 && void 0 !== arguments[4]
1258                      ? arguments[4]
1259                      : 0,
1260                  r =
1261                    arguments.length > 5 && void 0 !== arguments[5]
1262                      ? arguments[5]
1263                      : "#fefefe",
1264                  o =
1265                    arguments.length > 6 && void 0 !== arguments[6]
1266                      ? arguments[6]
1267                      : 1,
1268                  n =
1269                    arguments.length > 7 && void 0 !== arguments[7]
1270                      ? arguments[7]
1271                      : null,
1272                  l =
1273                    arguments.length > 8 && void 0 !== arguments[8]
1274                      ? arguments[8]
1275                      : null,
1276                  h =
1277                    arguments.length > 9 && void 0 !== arguments[9]
1278                      ? arguments[9]
1279                      : 0,
1280                  c = this.w.globals.dom.Paper.rect();
1281                return (
1282                  c.attr({
1283                    x: t,
1284                    y: e,
1285                    width: i > 0 ? i : 0,
1286                    height: a > 0 ? a : 0,
1287                    rx: s,
1288                    ry: s,
1289                    opacity: o,
1290                    "stroke-width": null !== n ? n : 0,
1291                    stroke: null !== l ? l : "none",
1292                    "stroke-dasharray": h,
1293                  }),
1294                  c.node.setAttribute("fill", r),
1295                  c
1296                );
1297              },
1298            },
1299            {
1300              key: "drawPolygon",
1301              value: function (t) {
1302                var e =
1303                    arguments.length > 1 && void 0 !== arguments[1]
1304                      ? arguments[1]
1305                      : "#e1e1e1",
1306                  i =
1307                    arguments.length > 2 && void 0 !== arguments[2]
1308                      ? arguments[2]
1309                      : 1,
1310                  a =
1311                    arguments.length > 3 && void 0 !== arguments[3]
1312                      ? arguments[3]
1313                      : "none";
1314                return this.w.globals.dom.Paper.polygon(t).attr({
1315                  fill: a,
1316                  stroke: e,
1317                  "stroke-width": i,
1318                });
1319              },
1320            },
1321            {
1322              key: "drawCircle",
1323              value: function (t) {
1324                var e =
1325                  arguments.length > 1 && void 0 !== arguments[1]
1326                    ? arguments[1]
1327                    : null;
1328                t < 0 && (t = 0);
1329                var i = this.w.globals.dom.Paper.circle(2 * t);
1330                return null !== e && i.attr(e), i;
1331              },
1332            },
1333            {
1334              key: "drawPath",
1335              value: function (t) {
1336                var e = t.d,
1337                  i = void 0 === e ? "" : e,
1338                  a = t.stroke,
1339                  s = void 0 === a ? "#a8a8a8" : a,
1340                  r = t.strokeWidth,
1341                  o = void 0 === r ? 1 : r,
1342                  n = t.fill,
1343                  l = t.fillOpacity,
1344                  h = void 0 === l ? 1 : l,
1345                  c = t.strokeOpacity,
1346                  d = void 0 === c ? 1 : c,
1347                  g = t.classes,
1348                  u = t.strokeLinecap,
1349                  p = void 0 === u ? null : u,
1350                  f = t.strokeDashArray,
1351                  x = void 0 === f ? 0 : f,
1352                  b = this.w;
1353                return (
1354                  null === p && (p = b.config.stroke.lineCap),
1355                  (i.indexOf("undefined") > -1 || i.indexOf("NaN") > -1) &&
1356                    (i = "M 0 ".concat(b.globals.gridHeight)),
1357                  b.globals.dom.Paper.path(i).attr({
1358                    fill: n,
1359                    "fill-opacity": h,
1360                    stroke: s,
1361                    "stroke-opacity": d,
1362                    "stroke-linecap": p,
1363                    "stroke-width": o,
1364                    "stroke-dasharray": x,
1365                    class: g,
1366                  })
1367                );
1368              },
1369            },
1370            {
1371              key: "group",
1372              value: function () {
1373                var t =
1374                    arguments.length > 0 && void 0 !== arguments[0]
1375                      ? arguments[0]
1376                      : null,
1377                  e = this.w.globals.dom.Paper.group();
1378                return null !== t && e.attr(t), e;
1379              },
1380            },
1381            {
1382              key: "move",
1383              value: function (t, e) {
1384                var i = ["M", t, e].join(" ");
1385                return i;
1386              },
1387            },
1388            {
1389              key: "line",
1390              value: function (t, e) {
1391                var i =
1392                    arguments.length > 2 && void 0 !== arguments[2]
1393                      ? arguments[2]
1394                      : null,
1395                  a = null;
1396                return (
1397                  null === i
1398                    ? (a = [" L", t, e].join(" "))
1399                    : "H" === i
1400                    ? (a = [" H", t].join(" "))
1401                    : "V" === i && (a = [" V", e].join(" ")),
1402                  a
1403                );
1404              },
1405            },
1406            {
1407              key: "curve",
1408              value: function (t, e, i, a, s, r) {
1409                var o = ["C", t, e, i, a, s, r].join(" ");
1410                return o;
1411              },
1412            },
1413            {
1414              key: "quadraticCurve",
1415              value: function (t, e, i, a) {
1416                return ["Q", t, e, i, a].join(" ");
1417              },
1418            },
1419            {
1420              key: "arc",
1421              value: function (t, e, i, a, s, r, o) {
1422                var n = "A";
1423                arguments.length > 7 &&
1424                  void 0 !== arguments[7] &&
1425                  arguments[7] &&
1426                  (n = "a");
1427                var l = [n, t, e, i, a, s, r, o].join(" ");
1428                return l;
1429              },
1430            },
1431            {
1432              key: "renderPaths",
1433              value: function (t) {
1434                var i,
1435                  a = t.j,
1436                  s = t.realIndex,
1437                  r = t.pathFrom,
1438                  o = t.pathTo,
1439                  n = t.stroke,
1440                  l = t.strokeWidth,
1441                  h = t.strokeLinecap,
1442                  c = t.fill,
1443                  d = t.animationDelay,
1444                  g = t.initialSpeed,
1445                  u = t.dataChangeSpeed,
1446                  p = t.className,
1447                  f = t.shouldClipToGrid,
1448                  x = void 0 === f || f,
1449                  m = t.bindEventsOnPaths,
1450                  y = void 0 === m || m,
1451                  w = t.drawShadow,
1452                  k = void 0 === w || w,
1453                  A = this.w,
1454                  S = new v(this.ctx),
1455                  C = new b(this.ctx),
1456                  L = this.w.config.chart.animations.enabled,
1457                  P =
1458                    L &&
1459                    this.w.config.chart.animations.dynamicAnimation.enabled,
1460                  I = !!(
1461                    (L && !A.globals.resized) ||
1462                    (P && A.globals.dataChanged && A.globals.shouldAnimate)
1463                  );
1464                I ? (i = r) : ((i = o), (A.globals.animationEnded = !0));
1465                var M = A.config.stroke.dashArray,
1466                  T = 0;
1467                T = Array.isArray(M) ? M[s] : A.config.stroke.dashArray;
1468                var z = this.drawPath({
1469                  d: i,
1470                  stroke: n,
1471                  strokeWidth: l,
1472                  fill: c,
1473                  fillOpacity: 1,
1474                  classes: p,
1475                  strokeLinecap: h,
1476                  strokeDashArray: T,
1477                });
1478                if (
1479                  (z.attr("index", s),
1480                  x &&
1481                    z.attr({
1482                      "clip-path": "url(#gridRectMask".concat(
1483                        A.globals.cuid,
1484                        ")"
1485                      ),
1486                    }),
1487                  "none" !== A.config.states.normal.filter.type)
1488                )
1489                  S.getDefaultFilter(z, s);
1490                else if (A.config.chart.dropShadow.enabled && k) {
1491                  var X = A.config.chart.dropShadow;
1492                  S.dropShadow(z, X, s);
1493                }
1494                y &&
1495                  (z.node.addEventListener(
1496                    "mouseenter",
1497                    this.pathMouseEnter.bind(this, z)
1498                  ),
1499                  z.node.addEventListener(
1500                    "mouseleave",
1501                    this.pathMouseLeave.bind(this, z)
1502                  ),
1503                  z.node.addEventListener(
1504                    "mousedown",
1505                    this.pathMouseDown.bind(this, z)
1506                  )),
1507                  z.attr({ pathTo: o, pathFrom: r });
1508                var E = {
1509                  el: z,
1510                  j: a,
1511                  realIndex: s,
1512                  pathFrom: r,
1513                  pathTo: o,
1514                  fill: c,
1515                  strokeWidth: l,
1516                  delay: d,
1517                };
1518                return (
1519                  !L || A.globals.resized || A.globals.dataChanged
1520                    ? (!A.globals.resized && A.globals.dataChanged) ||
1521                      C.showDelayedElements()
1522                    : C.animatePathsGradually(e(e({}, E), {}, { speed: g })),
1523                  A.globals.dataChanged &&
1524                    P &&
1525                    I &&
1526                    C.animatePathsGradually(e(e({}, E), {}, { speed: u })),
1527                  z
1528                );
1529              },
1530            },
1531            {
1532              key: "drawPattern",
1533              value: function (t, e, i) {
1534                var a =
1535                    arguments.length > 3 && void 0 !== arguments[3]
1536                      ? arguments[3]
1537                      : "#a8a8a8",
1538                  s =
1539                    arguments.length > 4 && void 0 !== arguments[4]
1540                      ? arguments[4]
1541                      : 0;
1542                return this.w.globals.dom.Paper.pattern(e, i, function (r) {
1543                  "horizontalLines" === t
1544                    ? r.line(0, 0, i, 0).stroke({ color: a, width: s + 1 })
1545                    : "verticalLines" === t
1546                    ? r.line(0, 0, 0, e).stroke({ color: a, width: s + 1 })
1547                    : "slantedLines" === t
1548                    ? r.line(0, 0, e, i).stroke({ color: a, width: s })
1549                    : "squares" === t
1550                    ? r.rect(e, i).fill("none").stroke({ color: a, width: s })
1551                    : "circles" === t &&
1552                      r.circle(e).fill("none").stroke({ color: a, width: s });
1553                });
1554              },
1555            },
1556            {
1557              key: "drawGradient",
1558              value: function (t, e, i, a, s) {
1559                var r,
1560                  o =
1561                    arguments.length > 5 && void 0 !== arguments[5]
1562                      ? arguments[5]
1563                      : null,
1564                  n =
1565                    arguments.length > 6 && void 0 !== arguments[6]
1566                      ? arguments[6]
1567                      : null,
1568                  l =
1569                    arguments.length > 7 && void 0 !== arguments[7]
1570                      ? arguments[7]
1571                      : null,
1572                  h =
1573                    arguments.length > 8 && void 0 !== arguments[8]
1574                      ? arguments[8]
1575                      : 0,
1576                  c = this.w;
1577                e.length < 9 && 0 === e.indexOf("#") && (e = x.hexToRgba(e, a)),
1578                  i.length < 9 &&
1579                    0 === i.indexOf("#") &&
1580                    (i = x.hexToRgba(i, s));
1581                var d = 0,
1582                  g = 1,
1583                  u = 1,
1584                  p = null;
1585                null !== n &&
1586                  ((d = void 0 !== n[0] ? n[0] / 100 : 0),
1587                  (g = void 0 !== n[1] ? n[1] / 100 : 1),
1588                  (u = void 0 !== n[2] ? n[2] / 100 : 1),
1589                  (p = void 0 !== n[3] ? n[3] / 100 : null));
1590                var f = !(
1591                  "donut" !== c.config.chart.type &&
1592                  "pie" !== c.config.chart.type &&
1593                  "polarArea" !== c.config.chart.type &&
1594                  "bubble" !== c.config.chart.type
1595                );
1596                if (
1597                  ((r =
1598                    null === l || 0 === l.length
1599                      ? c.globals.dom.Paper.gradient(
1600                          f ? "radial" : "linear",
1601                          function (t) {
1602                            t.at(d, e, a),
1603                              t.at(g, i, s),
1604                              t.at(u, i, s),
1605                              null !== p && t.at(p, e, a);
1606                          }
1607                        )
1608                      : c.globals.dom.Paper.gradient(
1609                          f ? "radial" : "linear",
1610                          function (t) {
1611                            (Array.isArray(l[h]) ? l[h] : l).forEach(function (
1612                              e
1613                            ) {
1614                              t.at(e.offset / 100, e.color, e.opacity);
1615                            });
1616                          }
1617                        )),
1618                  f)
1619                ) {
1620                  var b = c.globals.gridWidth / 2,
1621                    v = c.globals.gridHeight / 2;
1622                  "bubble" !== c.config.chart.type
1623                    ? r.attr({
1624                        gradientUnits: "userSpaceOnUse",
1625                        cx: b,
1626                        cy: v,
1627                        r: o,
1628                      })
1629                    : r.attr({ cx: 0.5, cy: 0.5, r: 0.8, fx: 0.2, fy: 0.2 });
1630                } else
1631                  "vertical" === t
1632                    ? r.from(0, 0).to(0, 1)
1633                    : "diagonal" === t
1634                    ? r.from(0, 0).to(1, 1)
1635                    : "horizontal" === t
1636                    ? r.from(0, 1).to(1, 1)
1637                    : "diagonal2" === t && r.from(1, 0).to(0, 1);
1638                return r;
1639              },
1640            },
1641            {
1642              key: "getTextBasedOnMaxWidth",
1643              value: function (t) {
1644                var e = t.text,
1645                  i = t.maxWidth,
1646                  a = t.fontSize,
1647                  s = t.fontFamily,
1648                  r = this.getTextRects(e, a, s),
1649                  o = r.width / e.length,
1650                  n = Math.floor(i / o);
1651                return i < r.width ? e.slice(0, n - 3) + "..." : e;
1652              },
1653            },
1654            {
1655              key: "drawText",
1656              value: function (t) {
1657                var i = this,
1658                  a = t.x,
1659                  s = t.y,
1660                  r = t.text,
1661                  o = t.textAnchor,
1662                  n = t.fontSize,
1663                  l = t.fontFamily,
1664                  h = t.fontWeight,
1665                  c = t.foreColor,
1666                  d = t.opacity,
1667                  g = t.maxWidth,
1668                  u = t.cssClass,
1669                  p = void 0 === u ? "" : u,
1670                  f = t.isPlainText,
1671                  x = void 0 === f || f,
1672                  b = t.dominantBaseline,
1673                  v = void 0 === b ? "auto" : b,
1674                  m = this.w;
1675                void 0 === r && (r = "");
1676                var y = r;
1677                o || (o = "start"),
1678                  (c && c.length) || (c = m.config.chart.foreColor),
1679                  (l = l || m.config.chart.fontFamily),
1680                  (h = h || "regular");
1681                var w,
1682                  k = {
1683                    maxWidth: g,
1684                    fontSize: (n = n || "11px"),
1685                    fontFamily: l,
1686                  };
1687                return (
1688                  Array.isArray(r)
1689                    ? (w = m.globals.dom.Paper.text(function (t) {
1690                        for (var a = 0; a < r.length; a++)
1691                          (y = r[a]),
1692                            g &&
1693                              (y = i.getTextBasedOnMaxWidth(
1694                                e({ text: r[a] }, k)
1695                              )),
1696                            0 === a ? t.tspan(y) : t.tspan(y).newLine();
1697                      }))
1698                    : (g &&
1699                        (y = this.getTextBasedOnMaxWidth(e({ text: r }, k))),
1700                      (w = x
1701                        ? m.globals.dom.Paper.plain(r)
1702                        : m.globals.dom.Paper.text(function (t) {
1703                            return t.tspan(y);
1704                          }))),
1705                  w.attr({
1706                    x: a,
1707                    y: s,
1708                    "text-anchor": o,
1709                    "dominant-baseline": v,
1710                    "font-size": n,
1711                    "font-family": l,
1712                    "font-weight": h,
1713                    fill: c,
1714                    class: "apexcharts-text " + p,
1715                  }),
1716                  (w.node.style.fontFamily = l),
1717                  (w.node.style.opacity = d),
1718                  w
1719                );
1720              },
1721            },
1722            {
1723              key: "createGroupWithAttributes",
1724              value: function (t, e, i, a) {
1725                var s = this.group();
1726                return (
1727                  i.forEach(function (t) {
1728                    return s.add(t);
1729                  }),
1730                  s.attr({ class: a.class ? a.class : "", cy: e, cx: t }),
1731                  s
1732                );
1733              },
1734            },
1735            {
1736              key: "drawPlus",
1737              value: function (t, e, i, a) {
1738                var s = i / 2,
1739                  r = this.drawLine(
1740                    t,
1741                    e - s,
1742                    t,
1743                    e + s,
1744                    a.pointStrokeColor,
1745                    a.pointStrokeDashArray,
1746                    a.pointStrokeWidth,
1747                    a.pointStrokeLineCap
1748                  ),
1749                  o = this.drawLine(
1750                    t - s,
1751                    e,
1752                    t + s,
1753                    e,
1754                    a.pointStrokeColor,
1755                    a.pointStrokeDashArray,
1756                    a.pointStrokeWidth,
1757                    a.pointStrokeLineCap
1758                  );
1759                return this.createGroupWithAttributes(t, e, [r, o], a);
1760              },
1761            },
1762            {
1763              key: "drawX",
1764              value: function (t, e, i, a) {
1765                var s = i / 2,
1766                  r = this.drawLine(
1767                    t - s,
1768                    e - s,
1769                    t + s,
1770                    e + s,
1771                    a.pointStrokeColor,
1772                    a.pointStrokeDashArray,
1773                    a.pointStrokeWidth,
1774                    a.pointStrokeLineCap
1775                  ),
1776                  o = this.drawLine(
1777                    t - s,
1778                    e + s,
1779                    t + s,
1780                    e - s,
1781                    a.pointStrokeColor,
1782                    a.pointStrokeDashArray,
1783                    a.pointStrokeWidth,
1784                    a.pointStrokeLineCap
1785                  );
1786                return this.createGroupWithAttributes(t, e, [r, o], a);
1787              },
1788            },
1789            {
1790              key: "drawMarker",
1791              value: function (t, e, i) {
1792                t = t || 0;
1793                var a = i.pSize || 0,
1794                  s = null;
1795                if (
1796                  "X" === (null == i ? void 0 : i.shape) ||
1797                  "x" === (null == i ? void 0 : i.shape)
1798                )
1799                  s = this.drawX(t, e, a, i);
1800                else if (
1801                  "plus" === (null == i ? void 0 : i.shape) ||
1802                  "+" === (null == i ? void 0 : i.shape)
1803                )
1804                  s = this.drawPlus(t, e, a, i);
1805                else if ("square" === i.shape || "rect" === i.shape) {
1806                  var r = void 0 === i.pRadius ? a / 2 : i.pRadius;
1807                  (null !== e && a) || ((a = 0), (r = 0));
1808                  var o = 1.2 * a + r,
1809                    n = this.drawRect(o, o, o, o, r);
1810                  n.attr({
1811                    x: t - o / 2,
1812                    y: e - o / 2,
1813                    cx: t,
1814                    cy: e,
1815                    class: i.class ? i.class : "",
1816                    fill: i.pointFillColor,
1817                    "fill-opacity": i.pointFillOpacity ? i.pointFillOpacity : 1,
1818                    stroke: i.pointStrokeColor,
1819                    "stroke-width": i.pointStrokeWidth ? i.pointStrokeWidth : 0,
1820                    "stroke-opacity": i.pointStrokeOpacity
1821                      ? i.pointStrokeOpacity
1822                      : 1,
1823                  }),
1824                    (s = n);
1825                } else
1826                  ("circle" !== i.shape && i.shape) ||
1827                    (x.isNumber(e) || ((a = 0), (e = 0)),
1828                    (s = this.drawCircle(a, {
1829                      cx: t,
1830                      cy: e,
1831                      class: i.class ? i.class : "",
1832                      stroke: i.pointStrokeColor,
1833                      fill: i.pointFillColor,
1834                      "fill-opacity": i.pointFillOpacity
1835                        ? i.pointFillOpacity
1836                        : 1,
1837                      "stroke-width": i.pointStrokeWidth
1838                        ? i.pointStrokeWidth
1839                        : 0,
1840                      "stroke-opacity": i.pointStrokeOpacity
1841                        ? i.pointStrokeOpacity
1842                        : 1,
1843                    })));
1844                return s;
1845              },
1846            },
1847            {
1848              key: "pathMouseEnter",
1849              value: function (t, e) {
1850                var i = this.w,
1851                  a = new v(this.ctx),
1852                  s = parseInt(t.node.getAttribute("index"), 10),
1853                  r = parseInt(t.node.getAttribute("j"), 10);
1854                if (
1855                  ("function" ==
1856                    typeof i.config.chart.events.dataPointMouseEnter &&
1857                    i.config.chart.events.dataPointMouseEnter(e, this.ctx, {
1858                      seriesIndex: s,
1859                      dataPointIndex: r,
1860                      w: i,
1861                    }),
1862                  this.ctx.events.fireEvent("dataPointMouseEnter", [
1863                    e,
1864                    this.ctx,
1865                    { seriesIndex: s, dataPointIndex: r, w: i },
1866                  ]),
1867                  ("none" === i.config.states.active.filter.type ||
1868                    "true" !== t.node.getAttribute("selected")) &&
1869                    "none" !== i.config.states.hover.filter.type &&
1870                    !i.globals.isTouchDevice)
1871                ) {
1872                  var o = i.config.states.hover.filter;
1873                  a.applyFilter(t, s, o.type, o.value);
1874                }
1875              },
1876            },
1877            {
1878              key: "pathMouseLeave",
1879              value: function (t, e) {
1880                var i = this.w,
1881                  a = new v(this.ctx),
1882                  s = parseInt(t.node.getAttribute("index"), 10),
1883                  r = parseInt(t.node.getAttribute("j"), 10);
1884                "function" ==
1885                  typeof i.config.chart.events.dataPointMouseLeave &&
1886                  i.config.chart.events.dataPointMouseLeave(e, this.ctx, {
1887                    seriesIndex: s,
1888                    dataPointIndex: r,
1889                    w: i,
1890                  }),
1891                  this.ctx.events.fireEvent("dataPointMouseLeave", [
1892                    e,
1893                    this.ctx,
1894                    { seriesIndex: s, dataPointIndex: r, w: i },
1895                  ]),
1896                  ("none" !== i.config.states.active.filter.type &&
1897                    "true" === t.node.getAttribute("selected")) ||
1898                    ("none" !== i.config.states.hover.filter.type &&
1899                      a.getDefaultFilter(t, s));
1900              },
1901            },
1902            {
1903              key: "pathMouseDown",
1904              value: function (t, e) {
1905                var i = this.w,
1906                  a = new v(this.ctx),
1907                  s = parseInt(t.node.getAttribute("index"), 10),
1908                  r = parseInt(t.node.getAttribute("j"), 10),
1909                  o = "false";
1910                if ("true" === t.node.getAttribute("selected")) {
1911                  if (
1912                    (t.node.setAttribute("selected", "false"),
1913                    i.globals.selectedDataPoints[s].indexOf(r) > -1)
1914                  ) {
1915                    var n = i.globals.selectedDataPoints[s].indexOf(r);
1916                    i.globals.selectedDataPoints[s].splice(n, 1);
1917                  }
1918                } else {
1919                  if (
1920                    !i.config.states.active.allowMultipleDataPointsSelection &&
1921                    i.globals.selectedDataPoints.length > 0
1922                  ) {
1923                    i.globals.selectedDataPoints = [];
1924                    var l = i.globals.dom.Paper.select(
1925                        ".apexcharts-series path"
1926                      ).members,
1927                      h = i.globals.dom.Paper.select(
1928                        ".apexcharts-series circle, .apexcharts-series rect"
1929                      ).members,
1930                      c = function (t) {
1931                        Array.prototype.forEach.call(t, function (t) {
1932                          t.node.setAttribute("selected", "false"),
1933                            a.getDefaultFilter(t, s);
1934                        });
1935                      };
1936                    c(l), c(h);
1937                  }
1938                  t.node.setAttribute("selected", "true"),
1939                    (o = "true"),
1940                    void 0 === i.globals.selectedDataPoints[s] &&
1941                      (i.globals.selectedDataPoints[s] = []),
1942                    i.globals.selectedDataPoints[s].push(r);
1943                }
1944                if ("true" === o) {
1945                  var d = i.config.states.active.filter;
1946                  if ("none" !== d) a.applyFilter(t, s, d.type, d.value);
1947                  else if (
1948                    "none" !== i.config.states.hover.filter &&
1949                    !i.globals.isTouchDevice
1950                  ) {
1951                    var g = i.config.states.hover.filter;
1952                    a.applyFilter(t, s, g.type, g.value);
1953                  }
1954                } else if ("none" !== i.config.states.active.filter.type)
1955                  if (
1956                    "none" === i.config.states.hover.filter.type ||
1957                    i.globals.isTouchDevice
1958                  )
1959                    a.getDefaultFilter(t, s);
1960                  else {
1961                    g = i.config.states.hover.filter;
1962                    a.applyFilter(t, s, g.type, g.value);
1963                  }
1964                "function" == typeof i.config.chart.events.dataPointSelection &&
1965                  i.config.chart.events.dataPointSelection(e, this.ctx, {
1966                    selectedDataPoints: i.globals.selectedDataPoints,
1967                    seriesIndex: s,
1968                    dataPointIndex: r,
1969                    w: i,
1970                  }),
1971                  e &&
1972                    this.ctx.events.fireEvent("dataPointSelection", [
1973                      e,
1974                      this.ctx,
1975                      {
1976                        selectedDataPoints: i.globals.selectedDataPoints,
1977                        seriesIndex: s,
1978                        dataPointIndex: r,
1979                        w: i,
1980                      },
1981                    ]);
1982              },
1983            },
1984            {
1985              key: "rotateAroundCenter",
1986              value: function (t) {
1987                var e = {};
1988                return (
1989                  t && "function" == typeof t.getBBox && (e = t.getBBox()),
1990                  { x: e.x + e.width / 2, y: e.y + e.height / 2 }
1991                );
1992              },
1993            },
1994            {
1995              key: "getTextRects",
1996              value: function (t, e, i, a) {
1997                var s =
1998                    !(arguments.length > 4 && void 0 !== arguments[4]) ||
1999                    arguments[4],
2000                  r = this.w,
2001                  o = this.drawText({
2002                    x: -200,
2003                    y: -200,
2004                    text: t,
2005                    textAnchor: "start",
2006                    fontSize: e,
2007                    fontFamily: i,
2008                    foreColor: "#fff",
2009                    opacity: 0,
2010                  });
2011                a && o.attr("transform", a), r.globals.dom.Paper.add(o);
2012                var n = o.bbox();
2013                return (
2014                  s || (n = o.node.getBoundingClientRect()),
2015                  o.remove(),
2016                  { width: n.width, height: n.height }
2017                );
2018              },
2019            },
2020            {
2021              key: "placeTextWithEllipsis",
2022              value: function (t, e, i) {
2023                if (
2024                  "function" == typeof t.getComputedTextLength &&
2025                  ((t.textContent = e),
2026                  e.length > 0 && t.getComputedTextLength() >= i / 1.1)
2027                ) {
2028                  for (var a = e.length - 3; a > 0; a -= 3)
2029                    if (t.getSubStringLength(0, a) <= i / 1.1)
2030                      return void (t.textContent = e.substring(0, a) + "...");
2031                  t.textContent = ".";
2032                }
2033              },
2034            },
2035          ],
2036          [
2037            {
2038              key: "setAttrs",
2039              value: function (t, e) {
2040                for (var i in e) e.hasOwnProperty(i) && t.setAttribute(i, e[i]);
2041              },
2042            },
2043          ]
2044        ),
2045        t
2046      );
2047    })(),
2048    y = (function () {
2049      function t(e) {
2050        a(this, t), (this.ctx = e), (this.w = e.w);
2051      }
2052      return (
2053        r(
2054          t,
2055          [
2056            {
2057              key: "getStackedSeriesTotals",
2058              value: function () {
2059                var t =
2060                    arguments.length > 0 && void 0 !== arguments[0]
2061                      ? arguments[0]
2062                      : [],
2063                  e = this.w,
2064                  i = [];
2065                if (0 === e.globals.series.length) return i;
2066                for (
2067                  var a = 0;
2068                  a < e.globals.series[e.globals.maxValsInArrayIndex].length;
2069                  a++
2070                ) {
2071                  for (var s = 0, r = 0; r < e.globals.series.length; r++)
2072                    void 0 !== e.globals.series[r][a] &&
2073                      -1 === t.indexOf(r) &&
2074                      (s += e.globals.series[r][a]);
2075                  i.push(s);
2076                }
2077                return i;
2078              },
2079            },
2080            {
2081              key: "getSeriesTotalByIndex",
2082              value: function () {
2083                var t =
2084                  arguments.length > 0 && void 0 !== arguments[0]
2085                    ? arguments[0]
2086                    : null;
2087                return null === t
2088                  ? this.w.config.series.reduce(function (t, e) {
2089                      return t + e;
2090                    }, 0)
2091                  : this.w.globals.series[t].reduce(function (t, e) {
2092                      return t + e;
2093                    }, 0);
2094              },
2095            },
2096            {
2097              key: "getStackedSeriesTotalsByGroups",
2098              value: function () {
2099                var t = this,
2100                  e = this.w,
2101                  i = [];
2102                return (
2103                  e.globals.seriesGroups.forEach(function (a) {
2104                    var s = [];
2105                    e.config.series.forEach(function (t, e) {
2106                      a.indexOf(t.name) > -1 && s.push(e);
2107                    });
2108                    var r = e.globals.series
2109                      .map(function (t, e) {
2110                        return -1 === s.indexOf(e) ? e : -1;
2111                      })
2112                      .filter(function (t) {
2113                        return -1 !== t;
2114                      });
2115                    i.push(t.getStackedSeriesTotals(r));
2116                  }),
2117                  i
2118                );
2119              },
2120            },
2121            {
2122              key: "isSeriesNull",
2123              value: function () {
2124                var t =
2125                  arguments.length > 0 && void 0 !== arguments[0]
2126                    ? arguments[0]
2127                    : null;
2128                return (
2129                  0 ===
2130                  (null === t
2131                    ? this.w.config.series.filter(function (t) {
2132                        return null !== t;
2133                      })
2134                    : this.w.config.series[t].data.filter(function (t) {
2135                        return null !== t;
2136                      })
2137                  ).length
2138                );
2139              },
2140            },
2141            {
2142              key: "seriesHaveSameValues",
2143              value: function (t) {
2144                return this.w.globals.series[t].every(function (t, e, i) {
2145                  return t === i[0];
2146                });
2147              },
2148            },
2149            {
2150              key: "getCategoryLabels",
2151              value: function (t) {
2152                var e = this.w,
2153                  i = t.slice();
2154                return (
2155                  e.config.xaxis.convertedCatToNumeric &&
2156                    (i = t.map(function (t, i) {
2157                      return e.config.xaxis.labels.formatter(
2158                        t - e.globals.minX + 1
2159                      );
2160                    })),
2161                  i
2162                );
2163              },
2164            },
2165            {
2166              key: "getLargestSeries",
2167              value: function () {
2168                var t = this.w;
2169                t.globals.maxValsInArrayIndex = t.globals.series
2170                  .map(function (t) {
2171                    return t.length;
2172                  })
2173                  .indexOf(
2174                    Math.max.apply(
2175                      Math,
2176                      t.globals.series.map(function (t) {
2177                        return t.length;
2178                      })
2179                    )
2180                  );
2181              },
2182            },
2183            {
2184              key: "getLargestMarkerSize",
2185              value: function () {
2186                var t = this.w,
2187                  e = 0;
2188                return (
2189                  t.globals.markers.size.forEach(function (t) {
2190                    e = Math.max(e, t);
2191                  }),
2192                  t.config.markers.discrete &&
2193                    t.config.markers.discrete.length &&
2194                    t.config.markers.discrete.forEach(function (t) {
2195                      e = Math.max(e, t.size);
2196                    }),
2197                  e > 0 && (e += t.config.markers.hover.sizeOffset + 1),
2198                  (t.globals.markers.largestSize = e),
2199                  e
2200                );
2201              },
2202            },
2203            {
2204              key: "getSeriesTotals",
2205              value: function () {
2206                var t = this.w;
2207                t.globals.seriesTotals = t.globals.series.map(function (t, e) {
2208                  var i = 0;
2209                  if (Array.isArray(t))
2210                    for (var a = 0; a < t.length; a++) i += t[a];
2211                  else i += t;
2212                  return i;
2213                });
2214              },
2215            },
2216            {
2217              key: "getSeriesTotalsXRange",
2218              value: function (t, e) {
2219                var i = this.w;
2220                return i.globals.series.map(function (a, s) {
2221                  for (var r = 0, o = 0; o < a.length; o++)
2222                    i.globals.seriesX[s][o] > t &&
2223                      i.globals.seriesX[s][o] < e &&
2224                      (r += a[o]);
2225                  return r;
2226                });
2227              },
2228            },
2229            {
2230              key: "getPercentSeries",
2231              value: function () {
2232                var t = this.w;
2233                t.globals.seriesPercent = t.globals.series.map(function (e, i) {
2234                  var a = [];
2235                  if (Array.isArray(e))
2236                    for (var s = 0; s < e.length; s++) {
2237                      var r = t.globals.stackedSeriesTotals[s],
2238                        o = 0;
2239                      r && (o = (100 * e[s]) / r), a.push(o);
2240                    }
2241                  else {
2242                    var n =
2243                      (100 * e) /
2244                      t.globals.seriesTotals.reduce(function (t, e) {
2245                        return t + e;
2246                      }, 0);
2247                    a.push(n);
2248                  }
2249                  return a;
2250                });
2251              },
2252            },
2253            {
2254              key: "getCalculatedRatios",
2255              value: function () {
2256                var t,
2257                  e,
2258                  i,
2259                  a = this.w.globals,
2260                  s = [],
2261                  r = 0,
2262                  o = [],
2263                  n = 0.1,
2264                  l = 0;
2265                if (((a.yRange = []), a.isMultipleYAxis))
2266                  for (var h = 0; h < a.minYArr.length; h++)
2267                    a.yRange.push(Math.abs(a.minYArr[h] - a.maxYArr[h])),
2268                      o.push(0);
2269                else a.yRange.push(Math.abs(a.minY - a.maxY));
2270                (a.xRange = Math.abs(a.maxX - a.minX)),
2271                  (a.zRange = Math.abs(a.maxZ - a.minZ));
2272                for (var c = 0; c < a.yRange.length; c++)
2273                  s.push(a.yRange[c] / a.gridHeight);
2274                if (
2275                  ((e = a.xRange / a.gridWidth),
2276                  (t = a.yRange / a.gridWidth),
2277                  (i = a.xRange / a.gridHeight),
2278                  (r = (a.zRange / a.gridHeight) * 16) || (r = 1),
2279                  a.minY !== Number.MIN_VALUE &&
2280                    0 !== Math.abs(a.minY) &&
2281                    (a.hasNegs = !0),
2282                  a.isMultipleYAxis)
2283                ) {
2284                  o = [];
2285                  for (var d = 0; d < s.length; d++)
2286                    o.push(-a.minYArr[d] / s[d]);
2287                } else
2288                  o.push(-a.minY / s[0]),
2289                    a.minY !== Number.MIN_VALUE &&
2290                      0 !== Math.abs(a.minY) &&
2291                      ((n = -a.minY / t), (l = a.minX / e));
2292                return {
2293                  yRatio: s,
2294                  invertedYRatio: t,
2295                  zRatio: r,
2296                  xRatio: e,
2297                  invertedXRatio: i,
2298                  baseLineInvertedY: n,
2299                  baseLineY: o,
2300                  baseLineX: l,
2301                };
2302              },
2303            },
2304            {
2305              key: "getLogSeries",
2306              value: function (t) {
2307                var e = this,
2308                  i = this.w;
2309                return (
2310                  (i.globals.seriesLog = t.map(function (t, a) {
2311                    return i.config.yaxis[a] && i.config.yaxis[a].logarithmic
2312                      ? t.map(function (t) {
2313                          return null === t
2314                            ? null
2315                            : e.getLogVal(i.config.yaxis[a].logBase, t, a);
2316                        })
2317                      : t;
2318                  })),
2319                  i.globals.invalidLogScale ? t : i.globals.seriesLog
2320                );
2321              },
2322            },
2323            {
2324              key: "getBaseLog",
2325              value: function (t, e) {
2326                return Math.log(e) / Math.log(t);
2327              },
2328            },
2329            {
2330              key: "getLogVal",
2331              value: function (t, e, i) {
2332                if (0 === e) return 0;
2333                var a = this.w,
2334                  s =
2335                    0 === a.globals.minYArr[i]
2336                      ? -1
2337                      : this.getBaseLog(t, a.globals.minYArr[i]),
2338                  r =
2339                    (0 === a.globals.maxYArr[i]
2340                      ? 0
2341                      : this.getBaseLog(t, a.globals.maxYArr[i])) - s;
2342                return e < 1 ? e / r : (this.getBaseLog(t, e) - s) / r;
2343              },
2344            },
2345            {
2346              key: "getLogYRatios",
2347              value: function (t) {
2348                var e = this,
2349                  i = this.w,
2350                  a = this.w.globals;
2351                return (
2352                  (a.yLogRatio = t.slice()),
2353                  (a.logYRange = a.yRange.map(function (t, s) {
2354                    if (i.config.yaxis[s] && e.w.config.yaxis[s].logarithmic) {
2355                      var r,
2356                        o = -Number.MAX_VALUE,
2357                        n = Number.MIN_VALUE;
2358                      return (
2359                        a.seriesLog.forEach(function (t, e) {
2360                          t.forEach(function (t) {
2361                            i.config.yaxis[e] &&
2362                              i.config.yaxis[e].logarithmic &&
2363                              ((o = Math.max(t, o)), (n = Math.min(t, n)));
2364                          });
2365                        }),
2366                        (r = Math.pow(
2367                          a.yRange[s],
2368                          Math.abs(n - o) / a.yRange[s]
2369                        )),
2370                        (a.yLogRatio[s] = r / a.gridHeight),
2371                        r
2372                      );
2373                    }
2374                  })),
2375                  a.invalidLogScale ? t.slice() : a.yLogRatio
2376                );
2377              },
2378            },
2379          ],
2380          [
2381            {
2382              key: "checkComboSeries",
2383              value: function (t) {
2384                var e = !1,
2385                  i = 0,
2386                  a = 0;
2387                return (
2388                  t.length &&
2389                    void 0 !== t[0].type &&
2390                    t.forEach(function (t) {
2391                      ("bar" !== t.type &&
2392                        "column" !== t.type &&
2393                        "candlestick" !== t.type &&
2394                        "boxPlot" !== t.type) ||
2395                        i++,
2396                        void 0 !== t.type && a++;
2397                    }),
2398                  a > 0 && (e = !0),
2399                  { comboBarCount: i, comboCharts: e }
2400                );
2401              },
2402            },
2403            {
2404              key: "extendArrayProps",
2405              value: function (t, e, i) {
2406                return (
2407                  e.yaxis && (e = t.extendYAxis(e, i)),
2408                  e.annotations &&
2409                    (e.annotations.yaxis && (e = t.extendYAxisAnnotations(e)),
2410                    e.annotations.xaxis && (e = t.extendXAxisAnnotations(e)),
2411                    e.annotations.points && (e = t.extendPointAnnotations(e))),
2412                  e
2413                );
2414              },
2415            },
2416          ]
2417        ),
2418        t
2419      );
2420    })(),
2421    w = (function () {
2422      function t(e) {
2423        a(this, t), (this.w = e.w), (this.annoCtx = e);
2424      }
2425      return (
2426        r(t, [
2427          {
2428            key: "setOrientations",
2429            value: function (t) {
2430              var e =
2431                  arguments.length > 1 && void 0 !== arguments[1]
2432                    ? arguments[1]
2433                    : null,
2434                i = this.w;
2435              if ("vertical" === t.label.orientation) {
2436                var a = null !== e ? e : 0,
2437                  s = i.globals.dom.baseEl.querySelector(
2438                    ".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(
2439                      a,
2440                      "']"
2441                    )
2442                  );
2443                if (null !== s) {
2444                  var r = s.getBoundingClientRect();
2445                  s.setAttribute(
2446                    "x",
2447                    parseFloat(s.getAttribute("x")) - r.height + 4
2448                  ),
2449                    "top" === t.label.position
2450                      ? s.setAttribute(
2451                          "y",
2452                          parseFloat(s.getAttribute("y")) + r.width
2453                        )
2454                      : s.setAttribute(
2455                          "y",
2456                          parseFloat(s.getAttribute("y")) - r.width
2457                        );
2458                  var o = this.annoCtx.graphics.rotateAroundCenter(s),
2459                    n = o.x,
2460                    l = o.y;
2461                  s.setAttribute(
2462                    "transform",
2463                    "rotate(-90 ".concat(n, " ").concat(l, ")")
2464                  );
2465                }
2466              }
2467            },
2468          },
2469          {
2470            key: "addBackgroundToAnno",
2471            value: function (t, e) {
2472              var i = this.w;
2473              if (
2474                !t ||
2475                void 0 === e.label.text ||
2476                (void 0 !== e.label.text && !String(e.label.text).trim())
2477              )
2478                return null;
2479              var a = i.globals.dom.baseEl
2480                  .querySelector(".apexcharts-grid")
2481                  .getBoundingClientRect(),
2482                s = t.getBoundingClientRect(),
2483                r = e.label.style.padding.left,
2484                o = e.label.style.padding.right,
2485                n = e.label.style.padding.top,
2486                l = e.label.style.padding.bottom;
2487              "vertical" === e.label.orientation &&
2488                ((n = e.label.style.padding.left),
2489                (l = e.label.style.padding.right),
2490                (r = e.label.style.padding.top),
2491                (o = e.label.style.padding.bottom));
2492              var h = s.left - a.left - r,
2493                c = s.top - a.top - n,
2494                d = this.annoCtx.graphics.drawRect(
2495                  h - i.globals.barPadForNumericAxis,
2496                  c,
2497                  s.width + r + o,
2498                  s.height + n + l,
2499                  e.label.borderRadius,
2500                  e.label.style.background,
2501                  1,
2502                  e.label.borderWidth,
2503                  e.label.borderColor,
2504                  0
2505                );
2506              return e.id && d.node.classList.add(e.id), d;
2507            },
2508          },
2509          {
2510            key: "annotationsBackground",
2511            value: function () {
2512              var t = this,
2513                e = this.w,
2514                i = function (i, a, s) {
2515                  var r = e.globals.dom.baseEl.querySelector(
2516                    ".apexcharts-"
2517                      .concat(s, "-annotations .apexcharts-")
2518                      .concat(s, "-annotation-label[rel='")
2519                      .concat(a, "']")
2520                  );
2521                  if (r) {
2522                    var o = r.parentNode,
2523                      n = t.addBackgroundToAnno(r, i);
2524                    n &&
2525                      (o.insertBefore(n.node, r),
2526                      i.label.mouseEnter &&
2527                        n.node.addEventListener(
2528                          "mouseenter",
2529                          i.label.mouseEnter.bind(t, i)
2530                        ),
2531                      i.label.mouseLeave &&
2532                        n.node.addEventListener(
2533                          "mouseleave",
2534                          i.label.mouseLeave.bind(t, i)
2535                        ),
2536                      i.label.click &&
2537                        n.node.addEventListener(
2538                          "click",
2539                          i.label.click.bind(t, i)
2540                        ));
2541                  }
2542                };
2543              e.config.annotations.xaxis.map(function (t, e) {
2544                i(t, e, "xaxis");
2545              }),
2546                e.config.annotations.yaxis.map(function (t, e) {
2547                  i(t, e, "yaxis");
2548                }),
2549                e.config.annotations.points.map(function (t, e) {
2550                  i(t, e, "point");
2551                });
2552            },
2553          },
2554          {
2555            key: "getY1Y2",
2556            value: function (t, e) {
2557              var i,
2558                a = "y1" === t ? e.y : e.y2,
2559                s = this.w;
2560              if (this.annoCtx.invertAxis) {
2561                var r = s.globals.labels.indexOf(a);
2562                s.config.xaxis.convertedCatToNumeric &&
2563                  (r = s.globals.categoryLabels.indexOf(a));
2564                var o = s.globals.dom.baseEl.querySelector(
2565                  ".apexcharts-yaxis-texts-g text:nth-child(" + (r + 1) + ")"
2566                );
2567                o && (i = parseFloat(o.getAttribute("y"))),
2568                  void 0 !== e.seriesIndex &&
2569                    s.globals.barHeight &&
2570                    (i =
2571                      i -
2572                      (s.globals.barHeight / 2) *
2573                        (s.globals.series.length - 1) +
2574                      s.globals.barHeight * e.seriesIndex);
2575              } else {
2576                var n;
2577                if (s.config.yaxis[e.yAxisIndex].logarithmic)
2578                  n =
2579                    (a = new y(this.annoCtx.ctx).getLogVal(a, e.yAxisIndex)) /
2580                    s.globals.yLogRatio[e.yAxisIndex];
2581                else
2582                  n =
2583                    (a - s.globals.minYArr[e.yAxisIndex]) /
2584                    (s.globals.yRange[e.yAxisIndex] / s.globals.gridHeight);
2585                (i = s.globals.gridHeight - n),
2586                  !e.marker || (void 0 !== e.y && null !== e.y) || (i = 0),
2587                  s.config.yaxis[e.yAxisIndex] &&
2588                    s.config.yaxis[e.yAxisIndex].reversed &&
2589                    (i = n);
2590              }
2591              return (
2592                "string" == typeof a &&
2593                  a.indexOf("px") > -1 &&
2594                  (i = parseFloat(a)),
2595                i
2596              );
2597            },
2598          },
2599          {
2600            key: "getX1X2",
2601            value: function (t, e) {
2602              var i = this.w,
2603                a = this.annoCtx.invertAxis ? i.globals.minY : i.globals.minX,
2604                s = this.annoCtx.invertAxis ? i.globals.maxY : i.globals.maxX,
2605                r = this.annoCtx.invertAxis
2606                  ? i.globals.yRange[0]
2607                  : i.globals.xRange,
2608                o = (e.x - a) / (r / i.globals.gridWidth);
2609              this.annoCtx.inversedReversedAxis &&
2610                (o = (s - e.x) / (r / i.globals.gridWidth)),
2611                ("category" !== i.config.xaxis.type &&
2612                  !i.config.xaxis.convertedCatToNumeric) ||
2613                  this.annoCtx.invertAxis ||
2614                  i.globals.dataFormatXNumeric ||
2615                  (o = this.getStringX(e.x));
2616              var n = (e.x2 - a) / (r / i.globals.gridWidth);
2617              return (
2618                this.annoCtx.inversedReversedAxis &&
2619                  (n = (s - e.x2) / (r / i.globals.gridWidth)),
2620                ("category" !== i.config.xaxis.type &&
2621                  !i.config.xaxis.convertedCatToNumeric) ||
2622                  this.annoCtx.invertAxis ||
2623                  i.globals.dataFormatXNumeric ||
2624                  (n = this.getStringX(e.x2)),
2625                (void 0 !== e.x && null !== e.x) ||
2626                  !e.marker ||
2627                  (o = i.globals.gridWidth),
2628                "x1" === t &&
2629                  "string" == typeof e.x &&
2630                  e.x.indexOf("px") > -1 &&
2631                  (o = parseFloat(e.x)),
2632                "x2" === t &&
2633                  "string" == typeof e.x2 &&
2634                  e.x2.indexOf("px") > -1 &&
2635                  (n = parseFloat(e.x2)),
2636                void 0 !== e.seriesIndex &&
2637                  i.globals.barWidth &&
2638                  !this.annoCtx.invertAxis &&
2639                  (o =
2640                    o -
2641                    (i.globals.barWidth / 2) * (i.globals.series.length - 1) +
2642                    i.globals.barWidth * e.seriesIndex),
2643                "x1" === t ? o : n
2644              );
2645            },
2646          },
2647          {
2648            key: "getStringX",
2649            value: function (t) {
2650              var e = this.w,
2651                i = t;
2652              e.config.xaxis.convertedCatToNumeric &&
2653                e.globals.categoryLabels.length &&
2654                (t = e.globals.categoryLabels.indexOf(t) + 1);
2655              var a = e.globals.labels.indexOf(t),
2656                s = e.globals.dom.baseEl.querySelector(
2657                  ".apexcharts-xaxis-texts-g text:nth-child(" + (a + 1) + ")"
2658                );
2659              return s && (i = parseFloat(s.getAttribute("x"))), i;
2660            },
2661          },
2662        ]),
2663        t
2664      );
2665    })(),
2666    k = (function () {
2667      function t(e) {
2668        a(this, t),
2669          (this.w = e.w),
2670          (this.annoCtx = e),
2671          (this.invertAxis = this.annoCtx.invertAxis),
2672          (this.helpers = new w(this.annoCtx));
2673      }
2674      return (
2675        r(t, [
2676          {
2677            key: "addXaxisAnnotation",
2678            value: function (t, e, i) {
2679              var a,
2680                s = this.w,
2681                r = this.helpers.getX1X2("x1", t),
2682                o = t.label.text,
2683                n = t.strokeDashArray;
2684              if (x.isNumber(r)) {
2685                if (null === t.x2 || void 0 === t.x2) {
2686                  var l = this.annoCtx.graphics.drawLine(
2687                    r + t.offsetX,
2688                    0 + t.offsetY,
2689                    r + t.offsetX,
2690                    s.globals.gridHeight + t.offsetY,
2691                    t.borderColor,
2692                    n,
2693                    t.borderWidth
2694                  );
2695                  e.appendChild(l.node), t.id && l.node.classList.add(t.id);
2696                } else {
2697                  if ((a = this.helpers.getX1X2("x2", t)) < r) {
2698                    var h = r;
2699                    (r = a), (a = h);
2700                  }
2701                  var c = this.annoCtx.graphics.drawRect(
2702                    r + t.offsetX,
2703                    0 + t.offsetY,
2704                    a - r,
2705                    s.globals.gridHeight + t.offsetY,
2706                    0,
2707                    t.fillColor,
2708                    t.opacity,
2709                    1,
2710                    t.borderColor,
2711                    n
2712                  );
2713                  c.node.classList.add("apexcharts-annotation-rect"),
2714                    c.attr(
2715                      "clip-path",
2716                      "url(#gridRectMask".concat(s.globals.cuid, ")")
2717                    ),
2718                    e.appendChild(c.node),
2719                    t.id && c.node.classList.add(t.id);
2720                }
2721                var d = this.annoCtx.graphics.getTextRects(
2722                    o,
2723                    parseFloat(t.label.style.fontSize)
2724                  ),
2725                  g =
2726                    "top" === t.label.position
2727                      ? 4
2728                      : "center" === t.label.position
2729                      ? s.globals.gridHeight / 2 +
2730                        ("vertical" === t.label.orientation ? d.width / 2 : 0)
2731                      : s.globals.gridHeight,
2732                  u = this.annoCtx.graphics.drawText({
2733                    x: r + t.label.offsetX,
2734                    y:
2735                      g +
2736                      t.label.offsetY -
2737                      ("vertical" === t.label.orientation
2738                        ? "top" === t.label.position
2739                          ? d.width / 2 - 12
2740                          : -d.width / 2
2741                        : 0),
2742                    text: o,
2743                    textAnchor: t.label.textAnchor,
2744                    fontSize: t.label.style.fontSize,
2745                    fontFamily: t.label.style.fontFamily,
2746                    fontWeight: t.label.style.fontWeight,
2747                    foreColor: t.label.style.color,
2748                    cssClass: "apexcharts-xaxis-annotation-label "
2749                      .concat(t.label.style.cssClass, " ")
2750                      .concat(t.id ? t.id : ""),
2751                  });
2752                u.attr({ rel: i }),
2753                  e.appendChild(u.node),
2754                  this.annoCtx.helpers.setOrientations(t, i);
2755              }
2756            },
2757          },
2758          {
2759            key: "drawXAxisAnnotations",
2760            value: function () {
2761              var t = this,
2762                e = this.w,
2763                i = this.annoCtx.graphics.group({
2764                  class: "apexcharts-xaxis-annotations",
2765                });
2766              return (
2767                e.config.annotations.xaxis.map(function (e, a) {
2768                  t.addXaxisAnnotation(e, i.node, a);
2769                }),
2770                i
2771              );
2772            },
2773          },
2774        ]),
2775        t
2776      );
2777    })(),
2778    A = (function () {
2779      function t(e) {
2780        a(this, t),
2781          (this.w = e.w),
2782          (this.annoCtx = e),
2783          (this.helpers = new w(this.annoCtx));
2784      }
2785      return (
2786        r(t, [
2787          {
2788            key: "addYaxisAnnotation",
2789            value: function (t, e, i) {
2790              var a,
2791                s = this.w,
2792                r = t.strokeDashArray,
2793                o = this.helpers.getY1Y2("y1", t),
2794                n = t.label.text;
2795              if (null === t.y2 || void 0 === t.y2) {
2796                var l = this.annoCtx.graphics.drawLine(
2797                  0 + t.offsetX,
2798                  o + t.offsetY,
2799                  this._getYAxisAnnotationWidth(t),
2800                  o + t.offsetY,
2801                  t.borderColor,
2802                  r,
2803                  t.borderWidth
2804                );
2805                e.appendChild(l.node), t.id && l.node.classList.add(t.id);
2806              } else {
2807                if ((a = this.helpers.getY1Y2("y2", t)) > o) {
2808                  var h = o;
2809                  (o = a), (a = h);
2810                }
2811                var c = this.annoCtx.graphics.drawRect(
2812                  0 + t.offsetX,
2813                  a + t.offsetY,
2814                  this._getYAxisAnnotationWidth(t),
2815                  o - a,
2816                  0,
2817                  t.fillColor,
2818                  t.opacity,
2819                  1,
2820                  t.borderColor,
2821                  r
2822                );
2823                c.node.classList.add("apexcharts-annotation-rect"),
2824                  c.attr(
2825                    "clip-path",
2826                    "url(#gridRectMask".concat(s.globals.cuid, ")")
2827                  ),
2828                  e.appendChild(c.node),
2829                  t.id && c.node.classList.add(t.id);
2830              }
2831              var d =
2832                  "right" === t.label.position
2833                    ? s.globals.gridWidth
2834                    : "center" === t.label.position
2835                    ? s.globals.gridWidth / 2
2836                    : 0,
2837                g = this.annoCtx.graphics.drawText({
2838                  x: d + t.label.offsetX,
2839                  y: (null != a ? a : o) + t.label.offsetY - 3,
2840                  text: n,
2841                  textAnchor: t.label.textAnchor,
2842                  fontSize: t.label.style.fontSize,
2843                  fontFamily: t.label.style.fontFamily,
2844                  fontWeight: t.label.style.fontWeight,
2845                  foreColor: t.label.style.color,
2846                  cssClass: "apexcharts-yaxis-annotation-label "
2847                    .concat(t.label.style.cssClass, " ")
2848                    .concat(t.id ? t.id : ""),
2849                });
2850              g.attr({ rel: i }), e.appendChild(g.node);
2851            },
2852          },
2853          {
2854            key: "_getYAxisAnnotationWidth",
2855            value: function (t) {
2856              var e = this.w;
2857              e.globals.gridWidth;
2858              return (
2859                (t.width.indexOf("%") > -1
2860                  ? (e.globals.gridWidth * parseInt(t.width, 10)) / 100
2861                  : parseInt(t.width, 10)) + t.offsetX
2862              );
2863            },
2864          },
2865          {
2866            key: "drawYAxisAnnotations",
2867            value: function () {
2868              var t = this,
2869                e = this.w,
2870                i = this.annoCtx.graphics.group({
2871                  class: "apexcharts-yaxis-annotations",
2872                });
2873              return (
2874                e.config.annotations.yaxis.map(function (e, a) {
2875                  t.addYaxisAnnotation(e, i.node, a);
2876                }),
2877                i
2878              );
2879            },
2880          },
2881        ]),
2882        t
2883      );
2884    })(),
2885    S = (function () {
2886      function t(e) {
2887        a(this, t),
2888          (this.w = e.w),
2889          (this.annoCtx = e),
2890          (this.helpers = new w(this.annoCtx));
2891      }
2892      return (
2893        r(t, [
2894          {
2895            key: "addPointAnnotation",
2896            value: function (t, e, i) {
2897              this.w;
2898              var a = this.helpers.getX1X2("x1", t),
2899                s = this.helpers.getY1Y2("y1", t);
2900              if (x.isNumber(a)) {
2901                var r = {
2902                    pSize: t.marker.size,
2903                    pointStrokeWidth: t.marker.strokeWidth,
2904                    pointFillColor: t.marker.fillColor,
2905                    pointStrokeColor: t.marker.strokeColor,
2906                    shape: t.marker.shape,
2907                    pRadius: t.marker.radius,
2908                    class: "apexcharts-point-annotation-marker "
2909                      .concat(t.marker.cssClass, " ")
2910                      .concat(t.id ? t.id : ""),
2911                  },
2912                  o = this.annoCtx.graphics.drawMarker(
2913                    a + t.marker.offsetX,
2914                    s + t.marker.offsetY,
2915                    r
2916                  );
2917                e.appendChild(o.node);
2918                var n = t.label.text ? t.label.text : "",
2919                  l = this.annoCtx.graphics.drawText({
2920                    x: a + t.label.offsetX,
2921                    y:
2922                      s +
2923                      t.label.offsetY -
2924                      t.marker.size -
2925                      parseFloat(t.label.style.fontSize) / 1.6,
2926                    text: n,
2927                    textAnchor: t.label.textAnchor,
2928                    fontSize: t.label.style.fontSize,
2929                    fontFamily: t.label.style.fontFamily,
2930                    fontWeight: t.label.style.fontWeight,
2931                    foreColor: t.label.style.color,
2932                    cssClass: "apexcharts-point-annotation-label "
2933                      .concat(t.label.style.cssClass, " ")
2934                      .concat(t.id ? t.id : ""),
2935                  });
2936                if (
2937                  (l.attr({ rel: i }), e.appendChild(l.node), t.customSVG.SVG)
2938                ) {
2939                  var h = this.annoCtx.graphics.group({
2940                    class:
2941                      "apexcharts-point-annotations-custom-svg " +
2942                      t.customSVG.cssClass,
2943                  });
2944                  h.attr({
2945                    transform: "translate("
2946                      .concat(a + t.customSVG.offsetX, ", ")
2947                      .concat(s + t.customSVG.offsetY, ")"),
2948                  }),
2949                    (h.node.innerHTML = t.customSVG.SVG),
2950                    e.appendChild(h.node);
2951                }
2952                if (t.image.path) {
2953                  var c = t.image.width ? t.image.width : 20,
2954                    d = t.image.height ? t.image.height : 20;
2955                  o = this.annoCtx.addImage({
2956                    x: a + t.image.offsetX - c / 2,
2957                    y: s + t.image.offsetY - d / 2,
2958                    width: c,
2959                    height: d,
2960                    path: t.image.path,
2961                    appendTo: ".apexcharts-point-annotations",
2962                  });
2963                }
2964                t.mouseEnter &&
2965                  o.node.addEventListener(
2966                    "mouseenter",
2967                    t.mouseEnter.bind(this, t)
2968                  ),
2969                  t.mouseLeave &&
2970                    o.node.addEventListener(
2971                      "mouseleave",
2972                      t.mouseLeave.bind(this, t)
2973                    ),
2974                  t.click &&
2975                    o.node.addEventListener("click", t.click.bind(this, t));
2976              }
2977            },
2978          },
2979          {
2980            key: "drawPointAnnotations",
2981            value: function () {
2982              var t = this,
2983                e = this.w,
2984                i = this.annoCtx.graphics.group({
2985                  class: "apexcharts-point-annotations",
2986                });
2987              return (
2988                e.config.annotations.points.map(function (e, a) {
2989                  t.addPointAnnotation(e, i.node, a);
2990                }),
2991                i
2992              );
2993            },
2994          },
2995        ]),
2996        t
2997      );
2998    })();
2999  var C = {
3000      name: "en",
3001      options: {
3002        months: [
3003          "January",
3004          "February",
3005          "March",
3006          "April",
3007          "May",
3008          "June",
3009          "July",
3010          "August",
3011          "September",
3012          "October",
3013          "November",
3014          "December",
3015        ],
3016        shortMonths: [
3017          "Jan",
3018          "Feb",
3019          "Mar",
3020          "Apr",
3021          "May",
3022          "Jun",
3023          "Jul",
3024          "Aug",
3025          "Sep",
3026          "Oct",
3027          "Nov",
3028          "Dec",
3029        ],
3030        days: [
3031          "Sunday",
3032          "Monday",
3033          "Tuesday",
3034          "Wednesday",
3035          "Thursday",
3036          "Friday",
3037          "Saturday",
3038        ],
3039        shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
3040        toolbar: {
3041          exportToSVG: "Download SVG",
3042          exportToPNG: "Download PNG",
3043          exportToCSV: "Download CSV",
3044          menu: "Menu",
3045          selection: "Selection",
3046          selectionZoom: "Selection Zoom",
3047          zoomIn: "Zoom In",
3048          zoomOut: "Zoom Out",
3049          pan: "Panning",
3050          reset: "Reset Zoom",
3051        },
3052      },
3053    },
3054    L = (function () {
3055      function t() {
3056        a(this, t),
3057          (this.yAxis = {
3058            show: !0,
3059            showAlways: !1,
3060            showForNullSeries: !0,
3061            seriesName: void 0,
3062            opposite: !1,
3063            reversed: !1,
3064            logarithmic: !1,
3065            logBase: 10,
3066            tickAmount: void 0,
3067            stepSize: void 0,
3068            forceNiceScale: !1,
3069            max: void 0,
3070            min: void 0,
3071            floating: !1,
3072            decimalsInFloat: void 0,
3073            labels: {
3074              show: !0,
3075              minWidth: 0,
3076              maxWidth: 160,
3077              offsetX: 0,
3078              offsetY: 0,
3079              align: void 0,
3080              rotate: 0,
3081              padding: 20,
3082              style: {
3083                colors: [],
3084                fontSize: "11px",
3085                fontWeight: 400,
3086                fontFamily: void 0,
3087                cssClass: "",
3088              },
3089              formatter: void 0,
3090            },
3091            axisBorder: {
3092              show: !1,
3093              color: "#e0e0e0",
3094              width: 1,
3095              offsetX: 0,
3096              offsetY: 0,
3097            },
3098            axisTicks: {
3099              show: !1,
3100              color: "#e0e0e0",
3101              width: 6,
3102              offsetX: 0,
3103              offsetY: 0,
3104            },
3105            title: {
3106              text: void 0,
3107              rotate: -90,
3108              offsetY: 0,
3109              offsetX: 0,
3110              style: {
3111                color: void 0,
3112                fontSize: "11px",
3113                fontWeight: 900,
3114                fontFamily: void 0,
3115                cssClass: "",
3116              },
3117            },
3118            tooltip: { enabled: !1, offsetX: 0 },
3119            crosshairs: {
3120              show: !0,
3121              position: "front",
3122              stroke: { color: "#b6b6b6", width: 1, dashArray: 0 },
3123            },
3124          }),
3125          (this.pointAnnotation = {
3126            id: void 0,
3127            x: 0,
3128            y: null,
3129            yAxisIndex: 0,
3130            seriesIndex: void 0,
3131            mouseEnter: void 0,
3132            mouseLeave: void 0,
3133            click: void 0,
3134            marker: {
3135              size: 4,
3136              fillColor: "#fff",
3137              strokeWidth: 2,
3138              strokeColor: "#333",
3139              shape: "circle",
3140              offsetX: 0,
3141              offsetY: 0,
3142              radius: 2,
3143              cssClass: "",
3144            },
3145            label: {
3146              borderColor: "#c2c2c2",
3147              borderWidth: 1,
3148              borderRadius: 2,
3149              text: void 0,
3150              textAnchor: "middle",
3151              offsetX: 0,
3152              offsetY: 0,
3153              mouseEnter: void 0,
3154              mouseLeave: void 0,
3155              click: void 0,
3156              style: {
3157                background: "#fff",
3158                color: void 0,
3159                fontSize: "11px",
3160                fontFamily: void 0,
3161                fontWeight: 400,
3162                cssClass: "",
3163                padding: { left: 5, right: 5, top: 2, bottom: 2 },
3164              },
3165            },
3166            customSVG: {
3167              SVG: void 0,
3168              cssClass: void 0,
3169              offsetX: 0,
3170              offsetY: 0,
3171            },
3172            image: {
3173              path: void 0,
3174              width: 20,
3175              height: 20,
3176              offsetX: 0,
3177              offsetY: 0,
3178            },
3179          }),
3180          (this.yAxisAnnotation = {
3181            id: void 0,
3182            y: 0,
3183            y2: null,
3184            strokeDashArray: 1,
3185            fillColor: "#c2c2c2",
3186            borderColor: "#c2c2c2",
3187            borderWidth: 1,
3188            opacity: 0.3,
3189            offsetX: 0,
3190            offsetY: 0,
3191            width: "100%",
3192            yAxisIndex: 0,
3193            label: {
3194              borderColor: "#c2c2c2",
3195              borderWidth: 1,
3196              borderRadius: 2,
3197              text: void 0,
3198              textAnchor: "end",
3199              position: "right",
3200              offsetX: 0,
3201              offsetY: -3,
3202              mouseEnter: void 0,
3203              mouseLeave: void 0,
3204              click: void 0,
3205              style: {
3206                background: "#fff",
3207                color: void 0,
3208                fontSize: "11px",
3209                fontFamily: void 0,
3210                fontWeight: 400,
3211                cssClass: "",
3212                padding: { left: 5, right: 5, top: 2, bottom: 2 },
3213              },
3214            },
3215          }),
3216          (this.xAxisAnnotation = {
3217            id: void 0,
3218            x: 0,
3219            x2: null,
3220            strokeDashArray: 1,
3221            fillColor: "#c2c2c2",
3222            borderColor: "#c2c2c2",
3223            borderWidth: 1,
3224            opacity: 0.3,
3225            offsetX: 0,
3226            offsetY: 0,
3227            label: {
3228              borderColor: "#c2c2c2",
3229              borderWidth: 1,
3230              borderRadius: 2,
3231              text: void 0,
3232              textAnchor: "middle",
3233              orientation: "vertical",
3234              position: "top",
3235              offsetX: 0,
3236              offsetY: 0,
3237              mouseEnter: void 0,
3238              mouseLeave: void 0,
3239              click: void 0,
3240              style: {
3241                background: "#fff",
3242                color: void 0,
3243                fontSize: "11px",
3244                fontFamily: void 0,
3245                fontWeight: 400,
3246                cssClass: "",
3247                padding: { left: 5, right: 5, top: 2, bottom: 2 },
3248              },
3249            },
3250          }),
3251          (this.text = {
3252            x: 0,
3253            y: 0,
3254            text: "",
3255            textAnchor: "start",
3256            foreColor: void 0,
3257            fontSize: "13px",
3258            fontFamily: void 0,
3259            fontWeight: 400,
3260            appendTo: ".apexcharts-annotations",
3261            backgroundColor: "transparent",
3262            borderColor: "#c2c2c2",
3263            borderRadius: 0,
3264            borderWidth: 0,
3265            paddingLeft: 4,
3266            paddingRight: 4,
3267            paddingTop: 2,
3268            paddingBottom: 2,
3269          });
3270      }
3271      return (
3272        r(t, [
3273          {
3274            key: "init",
3275            value: function () {
3276              return {
3277                annotations: {
3278                  yaxis: [this.yAxisAnnotation],
3279                  xaxis: [this.xAxisAnnotation],
3280                  points: [this.pointAnnotation],
3281                  texts: [],
3282                  images: [],
3283                  shapes: [],
3284                },
3285                chart: {
3286                  animations: {
3287                    enabled: !0,
3288                    easing: "easeinout",
3289                    speed: 800,
3290                    animateGradually: { delay: 150, enabled: !0 },
3291                    dynamicAnimation: { enabled: !0, speed: 350 },
3292                  },
3293                  background: "transparent",
3294                  locales: [C],
3295                  defaultLocale: "en",
3296                  dropShadow: {
3297                    enabled: !1,
3298                    enabledOnSeries: void 0,
3299                    top: 2,
3300                    left: 2,
3301                    blur: 4,
3302                    color: "#000",
3303                    opacity: 0.35,
3304                  },
3305                  events: {
3306                    animationEnd: void 0,
3307                    beforeMount: void 0,
3308                    mounted: void 0,
3309                    updated: void 0,
3310                    click: void 0,
3311                    mouseMove: void 0,
3312                    mouseLeave: void 0,
3313                    xAxisLabelClick: void 0,
3314                    legendClick: void 0,
3315                    markerClick: void 0,
3316                    selection: void 0,
3317                    dataPointSelection: void 0,
3318                    dataPointMouseEnter: void 0,
3319                    dataPointMouseLeave: void 0,
3320                    beforeZoom: void 0,
3321                    beforeResetZoom: void 0,
3322                    zoomed: void 0,
3323                    scrolled: void 0,
3324                    brushScrolled: void 0,
3325                  },
3326                  foreColor: "#373d3f",
3327                  fontFamily: "Helvetica, Arial, sans-serif",
3328                  height: "auto",
3329                  parentHeightOffset: 15,
3330                  redrawOnParentResize: !0,
3331                  redrawOnWindowResize: !0,
3332                  id: void 0,
3333                  group: void 0,
3334                  nonce: void 0,
3335                  offsetX: 0,
3336                  offsetY: 0,
3337                  selection: {
3338                    enabled: !1,
3339                    type: "x",
3340                    fill: { color: "#24292e", opacity: 0.1 },
3341                    stroke: {
3342                      width: 1,
3343                      color: "#24292e",
3344                      opacity: 0.4,
3345                      dashArray: 3,
3346                    },
3347                    xaxis: { min: void 0, max: void 0 },
3348                    yaxis: { min: void 0, max: void 0 },
3349                  },
3350                  sparkline: { enabled: !1 },
3351                  brush: {
3352                    enabled: !1,
3353                    autoScaleYaxis: !0,
3354                    target: void 0,
3355                    targets: void 0,
3356                  },
3357                  stacked: !1,
3358                  stackOnlyBar: !0,
3359                  stackType: "normal",
3360                  toolbar: {
3361                    show: !0,
3362                    offsetX: 0,
3363                    offsetY: 0,
3364                    tools: {
3365                      download: !0,
3366                      selection: !0,
3367                      zoom: !0,
3368                      zoomin: !0,
3369                      zoomout: !0,
3370                      pan: !0,
3371                      reset: !0,
3372                      customIcons: [],
3373                    },
3374                    export: {
3375                      csv: {
3376                        filename: void 0,
3377                        columnDelimiter: ",",
3378                        headerCategory: "category",
3379                        headerValue: "value",
3380                        dateFormatter: function (t) {
3381                          return new Date(t).toDateString();
3382                        },
3383                      },
3384                      png: { filename: void 0 },
3385                      svg: { filename: void 0 },
3386                    },
3387                    autoSelected: "zoom",
3388                  },
3389                  type: "line",
3390                  width: "100%",
3391                  zoom: {
3392                    enabled: !0,
3393                    type: "x",
3394                    autoScaleYaxis: !1,
3395                    zoomedArea: {
3396                      fill: { color: "#90CAF9", opacity: 0.4 },
3397                      stroke: { color: "#0D47A1", opacity: 0.4, width: 1 },
3398                    },
3399                  },
3400                },
3401                plotOptions: {
3402                  area: { fillTo: "origin" },
3403                  bar: {
3404                    horizontal: !1,
3405                    columnWidth: "70%",
3406                    barHeight: "70%",
3407                    distributed: !1,
3408                    borderRadius: 0,
3409                    borderRadiusApplication: "around",
3410                    borderRadiusWhenStacked: "last",
3411                    rangeBarOverlap: !0,
3412                    rangeBarGroupRows: !1,
3413                    hideZeroBarsWhenGrouped: !1,
3414                    isDumbbell: !1,
3415                    dumbbellColors: void 0,
3416                    isFunnel: !1,
3417                    isFunnel3d: !0,
3418                    colors: {
3419                      ranges: [],
3420                      backgroundBarColors: [],
3421                      backgroundBarOpacity: 1,
3422                      backgroundBarRadius: 0,
3423                    },
3424                    dataLabels: {
3425                      position: "top",
3426                      maxItems: 100,
3427                      hideOverflowingLabels: !0,
3428                      orientation: "horizontal",
3429                      total: {
3430                        enabled: !1,
3431                        formatter: void 0,
3432                        offsetX: 0,
3433                        offsetY: 0,
3434                        style: {
3435                          color: "#373d3f",
3436                          fontSize: "12px",
3437                          fontFamily: void 0,
3438                          fontWeight: 600,
3439                        },
3440                      },
3441                    },
3442                  },
3443                  bubble: {
3444                    zScaling: !0,
3445                    minBubbleRadius: void 0,
3446                    maxBubbleRadius: void 0,
3447                  },
3448                  candlestick: {
3449                    colors: { upward: "#00B746", downward: "#EF403C" },
3450                    wick: { useFillColor: !0 },
3451                  },
3452                  boxPlot: { colors: { upper: "#00E396", lower: "#008FFB" } },
3453                  heatmap: {
3454                    radius: 2,
3455                    enableShades: !0,
3456                    shadeIntensity: 0.5,
3457                    reverseNegativeShade: !1,
3458                    distributed: !1,
3459                    useFillColorAsStroke: !1,
3460                    colorScale: {
3461                      inverse: !1,
3462                      ranges: [],
3463                      min: void 0,
3464                      max: void 0,
3465                    },
3466                  },
3467                  treemap: {
3468                    enableShades: !0,
3469                    shadeIntensity: 0.5,
3470                    distributed: !1,
3471                    reverseNegativeShade: !1,
3472                    useFillColorAsStroke: !1,
3473                    borderRadius: 4,
3474                    dataLabels: { format: "scale" },
3475                    colorScale: {
3476                      inverse: !1,
3477                      ranges: [],
3478                      min: void 0,
3479                      max: void 0,
3480                    },
3481                  },
3482                  radialBar: {
3483                    inverseOrder: !1,
3484                    startAngle: 0,
3485                    endAngle: 360,
3486                    offsetX: 0,
3487                    offsetY: 0,
3488                    hollow: {
3489                      margin: 5,
3490                      size: "50%",
3491                      background: "transparent",
3492                      image: void 0,
3493                      imageWidth: 150,
3494                      imageHeight: 150,
3495                      imageOffsetX: 0,
3496                      imageOffsetY: 0,
3497                      imageClipped: !0,
3498                      position: "front",
3499                      dropShadow: {
3500                        enabled: !1,
3501                        top: 0,
3502                        left: 0,
3503                        blur: 3,
3504                        color: "#000",
3505                        opacity: 0.5,
3506                      },
3507                    },
3508                    track: {
3509                      show: !0,
3510                      startAngle: void 0,
3511                      endAngle: void 0,
3512                      background: "#f2f2f2",
3513                      strokeWidth: "97%",
3514                      opacity: 1,
3515                      margin: 5,
3516                      dropShadow: {
3517                        enabled: !1,
3518                        top: 0,
3519                        left: 0,
3520                        blur: 3,
3521                        color: "#000",
3522                        opacity: 0.5,
3523                      },
3524                    },
3525                    dataLabels: {
3526                      show: !0,
3527                      name: {
3528                        show: !0,
3529                        fontSize: "16px",
3530                        fontFamily: void 0,
3531                        fontWeight: 600,
3532                        color: void 0,
3533                        offsetY: 0,
3534                        formatter: function (t) {
3535                          return t;
3536                        },
3537                      },
3538                      value: {
3539                        show: !0,
3540                        fontSize: "14px",
3541                        fontFamily: void 0,
3542                        fontWeight: 400,
3543                        color: void 0,
3544                        offsetY: 16,
3545                        formatter: function (t) {
3546                          return t + "%";
3547                        },
3548                      },
3549                      total: {
3550                        show: !1,
3551                        label: "Total",
3552                        fontSize: "16px",
3553                        fontWeight: 600,
3554                        fontFamily: void 0,
3555                        color: void 0,
3556                        formatter: function (t) {
3557                          return (
3558                            t.globals.seriesTotals.reduce(function (t, e) {
3559                              return t + e;
3560                            }, 0) /
3561                              t.globals.series.length +
3562                            "%"
3563                          );
3564                        },
3565                      },
3566                    },
3567                    barLabels: {
3568                      enabled: !1,
3569                      margin: 5,
3570                      useSeriesColors: !0,
3571                      fontFamily: void 0,
3572                      fontWeight: 600,
3573                      fontSize: "16px",
3574                      formatter: function (t) {
3575                        return t;
3576                      },
3577                      onClick: void 0,
3578                    },
3579                  },
3580                  pie: {
3581                    customScale: 1,
3582                    offsetX: 0,
3583                    offsetY: 0,
3584                    startAngle: 0,
3585                    endAngle: 360,
3586                    expandOnClick: !0,
3587                    dataLabels: { offset: 0, minAngleToShowLabel: 10 },
3588                    donut: {
3589                      size: "65%",
3590                      background: "transparent",
3591                      labels: {
3592                        show: !1,
3593                        name: {
3594                          show: !0,
3595                          fontSize: "16px",
3596                          fontFamily: void 0,
3597                          fontWeight: 600,
3598                          color: void 0,
3599                          offsetY: -10,
3600                          formatter: function (t) {
3601                            return t;
3602                          },
3603                        },
3604                        value: {
3605                          show: !0,
3606                          fontSize: "20px",
3607                          fontFamily: void 0,
3608                          fontWeight: 400,
3609                          color: void 0,
3610                          offsetY: 10,
3611                          formatter: function (t) {
3612                            return t;
3613                          },
3614                        },
3615                        total: {
3616                          show: !1,
3617                          showAlways: !1,
3618                          label: "Total",
3619                          fontSize: "16px",
3620                          fontWeight: 400,
3621                          fontFamily: void 0,
3622                          color: void 0,
3623                          formatter: function (t) {
3624                            return t.globals.seriesTotals.reduce(function (
3625                              t,
3626                              e
3627                            ) {
3628                              return t + e;
3629                            },
3630                            0);
3631                          },
3632                        },
3633                      },
3634                    },
3635                  },
3636                  polarArea: {
3637                    rings: { strokeWidth: 1, strokeColor: "#e8e8e8" },
3638                    spokes: { strokeWidth: 1, connectorColors: "#e8e8e8" },
3639                  },
3640                  radar: {
3641                    size: void 0,
3642                    offsetX: 0,
3643                    offsetY: 0,
3644                    polygons: {
3645                      strokeWidth: 1,
3646                      strokeColors: "#e8e8e8",
3647                      connectorColors: "#e8e8e8",
3648                      fill: { colors: void 0 },
3649                    },
3650                  },
3651                },
3652                colors: void 0,
3653                dataLabels: {
3654                  enabled: !0,
3655                  enabledOnSeries: void 0,
3656                  formatter: function (t) {
3657                    return null !== t ? t : "";
3658                  },
3659                  textAnchor: "middle",
3660                  distributed: !1,
3661                  offsetX: 0,
3662                  offsetY: 0,
3663                  style: {
3664                    fontSize: "12px",
3665                    fontFamily: void 0,
3666                    fontWeight: 600,
3667                    colors: void 0,
3668                  },
3669                  background: {
3670                    enabled: !0,
3671                    foreColor: "#fff",
3672                    borderRadius: 2,
3673                    padding: 4,
3674                    opacity: 0.9,
3675                    borderWidth: 1,
3676                    borderColor: "#fff",
3677                    dropShadow: {
3678                      enabled: !1,
3679                      top: 1,
3680                      left: 1,
3681                      blur: 1,
3682                      color: "#000",
3683                      opacity: 0.45,
3684                    },
3685                  },
3686                  dropShadow: {
3687                    enabled: !1,
3688                    top: 1,
3689                    left: 1,
3690                    blur: 1,
3691                    color: "#000",
3692                    opacity: 0.45,
3693                  },
3694                },
3695                fill: {
3696                  type: "solid",
3697                  colors: void 0,
3698                  opacity: 0.85,
3699                  gradient: {
3700                    shade: "dark",
3701                    type: "horizontal",
3702                    shadeIntensity: 0.5,
3703                    gradientToColors: void 0,
3704                    inverseColors: !0,
3705                    opacityFrom: 1,
3706                    opacityTo: 1,
3707                    stops: [0, 50, 100],
3708                    colorStops: [],
3709                  },
3710                  image: { src: [], width: void 0, height: void 0 },
3711                  pattern: {
3712                    style: "squares",
3713                    width: 6,
3714                    height: 6,
3715                    strokeWidth: 2,
3716                  },
3717                },
3718                forecastDataPoints: {
3719                  count: 0,
3720                  fillOpacity: 0.5,
3721                  strokeWidth: void 0,
3722                  dashArray: 4,
3723                },
3724                grid: {
3725                  show: !0,
3726                  borderColor: "#e0e0e0",
3727                  strokeDashArray: 0,
3728                  position: "back",
3729                  xaxis: { lines: { show: !1 } },
3730                  yaxis: { lines: { show: !0 } },
3731                  row: { colors: void 0, opacity: 0.5 },
3732                  column: { colors: void 0, opacity: 0.5 },
3733                  padding: { top: 0, right: 10, bottom: 0, left: 12 },
3734                },
3735                labels: [],
3736                legend: {
3737                  show: !0,
3738                  showForSingleSeries: !1,
3739                  showForNullSeries: !0,
3740                  showForZeroSeries: !0,
3741                  floating: !1,
3742                  position: "bottom",
3743                  horizontalAlign: "center",
3744                  inverseOrder: !1,
3745                  fontSize: "12px",
3746                  fontFamily: void 0,
3747                  fontWeight: 400,
3748                  width: void 0,
3749                  height: void 0,
3750                  formatter: void 0,
3751                  tooltipHoverFormatter: void 0,
3752                  offsetX: -20,
3753                  offsetY: 4,
3754                  customLegendItems: [],
3755                  labels: { colors: void 0, useSeriesColors: !1 },
3756                  markers: {
3757                    width: 12,
3758                    height: 12,
3759                    strokeWidth: 0,
3760                    fillColors: void 0,
3761                    strokeColor: "#fff",
3762                    radius: 12,
3763                    customHTML: void 0,
3764                    offsetX: 0,
3765                    offsetY: 0,
3766                    onClick: void 0,
3767                  },
3768                  itemMargin: { horizontal: 5, vertical: 2 },
3769                  onItemClick: { toggleDataSeries: !0 },
3770                  onItemHover: { highlightDataSeries: !0 },
3771                },
3772                markers: {
3773                  discrete: [],
3774                  size: 0,
3775                  colors: void 0,
3776                  strokeColors: "#fff",
3777                  strokeWidth: 2,
3778                  strokeOpacity: 0.9,
3779                  strokeDashArray: 0,
3780                  fillOpacity: 1,
3781                  shape: "circle",
3782                  width: 8,
3783                  height: 8,
3784                  radius: 2,
3785                  offsetX: 0,
3786                  offsetY: 0,
3787                  onClick: void 0,
3788                  onDblClick: void 0,
3789                  showNullDataPoints: !0,
3790                  hover: { size: void 0, sizeOffset: 3 },
3791                },
3792                noData: {
3793                  text: void 0,
3794                  align: "center",
3795                  verticalAlign: "middle",
3796                  offsetX: 0,
3797                  offsetY: 0,
3798                  style: {
3799                    color: void 0,
3800                    fontSize: "14px",
3801                    fontFamily: void 0,
3802                  },
3803                },
3804                responsive: [],
3805                series: void 0,
3806                states: {
3807                  normal: { filter: { type: "none", value: 0 } },
3808                  hover: { filter: { type: "lighten", value: 0.1 } },
3809                  active: {
3810                    allowMultipleDataPointsSelection: !1,
3811                    filter: { type: "darken", value: 0.5 },
3812                  },
3813                },
3814                title: {
3815                  text: void 0,
3816                  align: "left",
3817                  margin: 5,
3818                  offsetX: 0,
3819                  offsetY: 0,
3820                  floating: !1,
3821                  style: {
3822                    fontSize: "14px",
3823                    fontWeight: 900,
3824                    fontFamily: void 0,
3825                    color: void 0,
3826                  },
3827                },
3828                subtitle: {
3829                  text: void 0,
3830                  align: "left",
3831                  margin: 5,
3832                  offsetX: 0,
3833                  offsetY: 30,
3834                  floating: !1,
3835                  style: {
3836                    fontSize: "12px",
3837                    fontWeight: 400,
3838                    fontFamily: void 0,
3839                    color: void 0,
3840                  },
3841                },
3842                stroke: {
3843                  show: !0,
3844                  curve: "smooth",
3845                  lineCap: "butt",
3846                  width: 2,
3847                  colors: void 0,
3848                  dashArray: 0,
3849                  fill: {
3850                    type: "solid",
3851                    colors: void 0,
3852                    opacity: 0.85,
3853                    gradient: {
3854                      shade: "dark",
3855                      type: "horizontal",
3856                      shadeIntensity: 0.5,
3857                      gradientToColors: void 0,
3858                      inverseColors: !0,
3859                      opacityFrom: 1,
3860                      opacityTo: 1,
3861                      stops: [0, 50, 100],
3862                      colorStops: [],
3863                    },
3864                  },
3865                },
3866                tooltip: {
3867                  enabled: !0,
3868                  enabledOnSeries: void 0,
3869                  shared: !0,
3870                  hideEmptySeries: !1,
3871                  followCursor: !1,
3872                  intersect: !1,
3873                  inverseOrder: !1,
3874                  custom: void 0,
3875                  fillSeriesColor: !1,
3876                  theme: "light",
3877                  cssClass: "",
3878                  style: { fontSize: "12px", fontFamily: void 0 },
3879                  onDatasetHover: { highlightDataSeries: !1 },
3880                  x: { show: !0, format: "dd MMM", formatter: void 0 },
3881                  y: {
3882                    formatter: void 0,
3883                    title: {
3884                      formatter: function (t) {
3885                        return t ? t + ": " : "";
3886                      },
3887                    },
3888                  },
3889                  z: { formatter: void 0, title: "Size: " },
3890                  marker: { show: !0, fillColors: void 0 },
3891                  items: { display: "flex" },
3892                  fixed: {
3893                    enabled: !1,
3894                    position: "topRight",
3895                    offsetX: 0,
3896                    offsetY: 0,
3897                  },
3898                },
3899                xaxis: {
3900                  type: "category",
3901                  categories: [],
3902                  convertedCatToNumeric: !1,
3903                  offsetX: 0,
3904                  offsetY: 0,
3905                  overwriteCategories: void 0,
3906                  labels: {
3907                    show: !0,
3908                    rotate: -45,
3909                    rotateAlways: !1,
3910                    hideOverlappingLabels: !0,
3911                    trim: !1,
3912                    minHeight: void 0,
3913                    maxHeight: 120,
3914                    showDuplicates: !0,
3915                    style: {
3916                      colors: [],
3917                      fontSize: "12px",
3918                      fontWeight: 400,
3919                      fontFamily: void 0,
3920                      cssClass: "",
3921                    },
3922                    offsetX: 0,
3923                    offsetY: 0,
3924                    format: void 0,
3925                    formatter: void 0,
3926                    datetimeUTC: !0,
3927                    datetimeFormatter: {
3928                      year: "yyyy",
3929                      month: "MMM 'yy",
3930                      day: "dd MMM",
3931                      hour: "HH:mm",
3932                      minute: "HH:mm:ss",
3933                      second: "HH:mm:ss",
3934                    },
3935                  },
3936                  group: {
3937                    groups: [],
3938                    style: {
3939                      colors: [],
3940                      fontSize: "12px",
3941                      fontWeight: 400,
3942                      fontFamily: void 0,
3943                      cssClass: "",
3944                    },
3945                  },
3946                  axisBorder: {
3947                    show: !0,
3948                    color: "#e0e0e0",
3949                    width: "100%",
3950                    height: 1,
3951                    offsetX: 0,
3952                    offsetY: 0,
3953                  },
3954                  axisTicks: {
3955                    show: !0,
3956                    color: "#e0e0e0",
3957                    height: 6,
3958                    offsetX: 0,
3959                    offsetY: 0,
3960                  },
3961                  stepSize: void 0,
3962                  tickAmount: void 0,
3963                  tickPlacement: "on",
3964                  min: void 0,
3965                  max: void 0,
3966                  range: void 0,
3967                  floating: !1,
3968                  decimalsInFloat: void 0,
3969                  position: "bottom",
3970                  title: {
3971                    text: void 0,
3972                    offsetX: 0,
3973                    offsetY: 0,
3974                    style: {
3975                      color: void 0,
3976                      fontSize: "12px",
3977                      fontWeight: 900,
3978                      fontFamily: void 0,
3979                      cssClass: "",
3980                    },
3981                  },
3982                  crosshairs: {
3983                    show: !0,
3984                    width: 1,
3985                    position: "back",
3986                    opacity: 0.9,
3987                    stroke: { color: "#b6b6b6", width: 1, dashArray: 3 },
3988                    fill: {
3989                      type: "solid",
3990                      color: "#B1B9C4",
3991                      gradient: {
3992                        colorFrom: "#D8E3F0",
3993                        colorTo: "#BED1E6",
3994                        stops: [0, 100],
3995                        opacityFrom: 0.4,
3996                        opacityTo: 0.5,
3997                      },
3998                    },
3999                    dropShadow: {
4000                      enabled: !1,
4001                      left: 0,
4002                      top: 0,
4003                      blur: 1,
4004                      opacity: 0.4,
4005                    },
4006                  },
4007                  tooltip: {
4008                    enabled: !0,
4009                    offsetY: 0,
4010                    formatter: void 0,
4011                    style: { fontSize: "12px", fontFamily: void 0 },
4012                  },
4013                },
4014                yaxis: this.yAxis,
4015                theme: {
4016                  mode: "light",
4017                  palette: "palette1",
4018                  monochrome: {
4019                    enabled: !1,
4020                    color: "#008FFB",
4021                    shadeTo: "light",
4022                    shadeIntensity: 0.65,
4023                  },
4024                },
4025              };
4026            },
4027          },
4028        ]),
4029        t
4030      );
4031    })(),
4032    P = (function () {
4033      function t(e) {
4034        a(this, t),
4035          (this.ctx = e),
4036          (this.w = e.w),
4037          (this.graphics = new m(this.ctx)),
4038          this.w.globals.isBarHorizontal && (this.invertAxis = !0),
4039          (this.helpers = new w(this)),
4040          (this.xAxisAnnotations = new k(this)),
4041          (this.yAxisAnnotations = new A(this)),
4042          (this.pointsAnnotations = new S(this)),
4043          this.w.globals.isBarHorizontal &&
4044            this.w.config.yaxis[0].reversed &&
4045            (this.inversedReversedAxis = !0),
4046          (this.xDivision =
4047            this.w.globals.gridWidth / this.w.globals.dataPoints);
4048      }
4049      return (
4050        r(t, [
4051          {
4052            key: "drawAxesAnnotations",
4053            value: function () {
4054              var t = this.w;
4055              if (t.globals.axisCharts) {
4056                for (
4057                  var e = this.yAxisAnnotations.drawYAxisAnnotations(),
4058                    i = this.xAxisAnnotations.drawXAxisAnnotations(),
4059                    a = this.pointsAnnotations.drawPointAnnotations(),
4060                    s = t.config.chart.animations.enabled,
4061                    r = [e, i, a],
4062                    o = [i.node, e.node, a.node],
4063                    n = 0;
4064                  n < 3;
4065                  n++
4066                )
4067                  t.globals.dom.elGraphical.add(r[n]),
4068                    !s ||
4069                      t.globals.resized ||
4070                      t.globals.dataChanged ||
4071                      ("scatter" !== t.config.chart.type &&
4072                        "bubble" !== t.config.chart.type &&
4073                        t.globals.dataPoints > 1 &&
4074                        o[n].classList.add("apexcharts-element-hidden")),
4075                    t.globals.delayedElements.push({ el: o[n], index: 0 });
4076                this.helpers.annotationsBackground();
4077              }
4078            },
4079          },
4080          {
4081            key: "drawImageAnnos",
4082            value: function () {
4083              var t = this;
4084              this.w.config.annotations.images.map(function (e, i) {
4085                t.addImage(e, i);
4086              });
4087            },
4088          },
4089          {
4090            key: "drawTextAnnos",
4091            value: function () {
4092              var t = this;
4093              this.w.config.annotations.texts.map(function (e, i) {
4094                t.addText(e, i);
4095              });
4096            },
4097          },
4098          {
4099            key: "addXaxisAnnotation",
4100            value: function (t, e, i) {
4101              this.xAxisAnnotations.addXaxisAnnotation(t, e, i);
4102            },
4103          },
4104          {
4105            key: "addYaxisAnnotation",
4106            value: function (t, e, i) {
4107              this.yAxisAnnotations.addYaxisAnnotation(t, e, i);
4108            },
4109          },
4110          {
4111            key: "addPointAnnotation",
4112            value: function (t, e, i) {
4113              this.pointsAnnotations.addPointAnnotation(t, e, i);
4114            },
4115          },
4116          {
4117            key: "addText",
4118            value: function (t, e) {
4119              var i = t.x,
4120                a = t.y,
4121                s = t.text,
4122                r = t.textAnchor,
4123                o = t.foreColor,
4124                n = t.fontSize,
4125                l = t.fontFamily,
4126                h = t.fontWeight,
4127                c = t.cssClass,
4128                d = t.backgroundColor,
4129                g = t.borderWidth,
4130                u = t.strokeDashArray,
4131                p = t.borderRadius,
4132                f = t.borderColor,
4133                x = t.appendTo,
4134                b = void 0 === x ? ".apexcharts-svg" : x,
4135                v = t.paddingLeft,
4136                m = void 0 === v ? 4 : v,
4137                y = t.paddingRight,
4138                w = void 0 === y ? 4 : y,
4139                k = t.paddingBottom,
4140                A = void 0 === k ? 2 : k,
4141                S = t.paddingTop,
4142                C = void 0 === S ? 2 : S,
4143                L = this.w,
4144                P = this.graphics.drawText({
4145                  x: i,
4146                  y: a,
4147                  text: s,
4148                  textAnchor: r || "start",
4149                  fontSize: n || "12px",
4150                  fontWeight: h || "regular",
4151                  fontFamily: l || L.config.chart.fontFamily,
4152                  foreColor: o || L.config.chart.foreColor,
4153                  cssClass: c,
4154                }),
4155                I = L.globals.dom.baseEl.querySelector(b);
4156              I && I.appendChild(P.node);
4157              var M = P.bbox();
4158              if (s) {
4159                var T = this.graphics.drawRect(
4160                  M.x - m,
4161                  M.y - C,
4162                  M.width + m + w,
4163                  M.height + A + C,
4164                  p,
4165                  d || "transparent",
4166                  1,
4167                  g,
4168                  f,
4169                  u
4170                );
4171                I.insertBefore(T.node, P.node);
4172              }
4173            },
4174          },
4175          {
4176            key: "addImage",
4177            value: function (t, e) {
4178              var i = this.w,
4179                a = t.path,
4180                s = t.x,
4181                r = void 0 === s ? 0 : s,
4182                o = t.y,
4183                n = void 0 === o ? 0 : o,
4184                l = t.width,
4185                h = void 0 === l ? 20 : l,
4186                c = t.height,
4187                d = void 0 === c ? 20 : c,
4188                g = t.appendTo,
4189                u = void 0 === g ? ".apexcharts-svg" : g,
4190                p = i.globals.dom.Paper.image(a);
4191              p.size(h, d).move(r, n);
4192              var f = i.globals.dom.baseEl.querySelector(u);
4193              return f && f.appendChild(p.node), p;
4194            },
4195          },
4196          {
4197            key: "addXaxisAnnotationExternal",
4198            value: function (t, e, i) {
4199              return (
4200                this.addAnnotationExternal({
4201                  params: t,
4202                  pushToMemory: e,
4203                  context: i,
4204                  type: "xaxis",
4205                  contextMethod: i.addXaxisAnnotation,
4206                }),
4207                i
4208              );
4209            },
4210          },
4211          {
4212            key: "addYaxisAnnotationExternal",
4213            value: function (t, e, i) {
4214              return (
4215                this.addAnnotationExternal({
4216                  params: t,
4217                  pushToMemory: e,
4218                  context: i,
4219                  type: "yaxis",
4220                  contextMethod: i.addYaxisAnnotation,
4221                }),
4222                i
4223              );
4224            },
4225          },
4226          {
4227            key: "addPointAnnotationExternal",
4228            value: function (t, e, i) {
4229              return (
4230                void 0 === this.invertAxis &&
4231                  (this.invertAxis = i.w.globals.isBarHorizontal),
4232                this.addAnnotationExternal({
4233                  params: t,
4234                  pushToMemory: e,
4235                  context: i,
4236                  type: "point",
4237                  contextMethod: i.addPointAnnotation,
4238                }),
4239                i
4240              );
4241            },
4242          },
4243          {
4244            key: "addAnnotationExternal",
4245            value: function (t) {
4246              var e = t.params,
4247                i = t.pushToMemory,
4248                a = t.context,
4249                s = t.type,
4250                r = t.contextMethod,
4251                o = a,
4252                n = o.w,
4253                l = n.globals.dom.baseEl.querySelector(
4254                  ".apexcharts-".concat(s, "-annotations")
4255                ),
4256                h = l.childNodes.length + 1,
4257                c = new L(),
4258                d = Object.assign(
4259                  {},
4260                  "xaxis" === s
4261                    ? c.xAxisAnnotation
4262                    : "yaxis" === s
4263                    ? c.yAxisAnnotation
4264                    : c.pointAnnotation
4265                ),
4266                g = x.extend(d, e);
4267              switch (s) {
4268                case "xaxis":
4269                  this.addXaxisAnnotation(g, l, h);
4270                  break;
4271                case "yaxis":
4272                  this.addYaxisAnnotation(g, l, h);
4273                  break;
4274                case "point":
4275                  this.addPointAnnotation(g, l, h);
4276              }
4277              var u = n.globals.dom.baseEl.querySelector(
4278                  ".apexcharts-"
4279                    .concat(s, "-annotations .apexcharts-")
4280                    .concat(s, "-annotation-label[rel='")
4281                    .concat(h, "']")
4282                ),
4283                p = this.helpers.addBackgroundToAnno(u, g);
4284              return (
4285                p && l.insertBefore(p.node, u),
4286                i &&
4287                  n.globals.memory.methodsToExec.push({
4288                    context: o,
4289                    id: g.id ? g.id : x.randomId(),
4290                    method: r,
4291                    label: "addAnnotation",
4292                    params: e,
4293                  }),
4294                a
4295              );
4296            },
4297          },
4298          {
4299            key: "clearAnnotations",
4300            value: function (t) {
4301              var e = t.w,
4302                i = e.globals.dom.baseEl.querySelectorAll(
4303                  ".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"
4304                );
4305              e.globals.memory.methodsToExec.map(function (t, i) {
4306                ("addText" !== t.label && "addAnnotation" !== t.label) ||
4307                  e.globals.memory.methodsToExec.splice(i, 1);
4308              }),
4309                (i = x.listToArray(i)),
4310                Array.prototype.forEach.call(i, function (t) {
4311                  for (; t.firstChild; ) t.removeChild(t.firstChild);
4312                });
4313            },
4314          },
4315          {
4316            key: "removeAnnotation",
4317            value: function (t, e) {
4318              var i = t.w,
4319                a = i.globals.dom.baseEl.querySelectorAll(".".concat(e));
4320              a &&
4321                (i.globals.memory.methodsToExec.map(function (t, a) {
4322                  t.id === e && i.globals.memory.methodsToExec.splice(a, 1);
4323                }),
4324                Array.prototype.forEach.call(a, function (t) {
4325                  t.parentElement.removeChild(t);
4326                }));
4327            },
4328          },
4329        ]),
4330        t
4331      );
4332    })(),
4333    I = (function () {
4334      function t(e) {
4335        a(this, t),
4336          (this.ctx = e),
4337          (this.w = e.w),
4338          (this.months31 = [1, 3, 5, 7, 8, 10, 12]),
4339          (this.months30 = [2, 4, 6, 9, 11]),
4340          (this.daysCntOfYear = [
4341            0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,
4342          ]);
4343      }
4344      return (
4345        r(t, [
4346          {
4347            key: "isValidDate",
4348            value: function (t) {
4349              return "number" != typeof t && !isNaN(this.parseDate(t));
4350            },
4351          },
4352          {
4353            key: "getTimeStamp",
4354            value: function (t) {
4355              return Date.parse(t)
4356                ? this.w.config.xaxis.labels.datetimeUTC
4357                  ? new Date(new Date(t).toISOString().substr(0, 25)).getTime()
4358                  : new Date(t).getTime()
4359                : t;
4360            },
4361          },
4362          {
4363            key: "getDate",
4364            value: function (t) {
4365              return this.w.config.xaxis.labels.datetimeUTC
4366                ? new Date(new Date(t).toUTCString())
4367                : new Date(t);
4368            },
4369          },
4370          {
4371            key: "parseDate",
4372            value: function (t) {
4373              var e = Date.parse(t);
4374              if (!isNaN(e)) return this.getTimeStamp(t);
4375              var i = Date.parse(t.replace(/-/g, "/").replace(/[a-z]+/gi, " "));
4376              return (i = this.getTimeStamp(i));
4377            },
4378          },
4379          {
4380            key: "parseDateWithTimezone",
4381            value: function (t) {
4382              return Date.parse(t.replace(/-/g, "/").replace(/[a-z]+/gi, " "));
4383            },
4384          },
4385          {
4386            key: "formatDate",
4387            value: function (t, e) {
4388              var i = this.w.globals.locale,
4389                a = this.w.config.xaxis.labels.datetimeUTC,
4390                s = ["\0"].concat(u(i.months)),
4391                r = ["\x01"].concat(u(i.shortMonths)),
4392                o = ["\x02"].concat(u(i.days)),
4393                n = ["\x03"].concat(u(i.shortDays));
4394              function l(t, e) {
4395                var i = t + "";
4396                for (e = e || 2; i.length < e; ) i = "0" + i;
4397                return i;
4398              }
4399              var h = a ? t.getUTCFullYear() : t.getFullYear();
4400              e = (e = (e = e.replace(/(^|[^\\])yyyy+/g, "$1" + h)).replace(
4401                /(^|[^\\])yy/g,
4402                "$1" + h.toString().substr(2, 2)
4403              )).replace(/(^|[^\\])y/g, "$1" + h);
4404              var c = (a ? t.getUTCMonth() : t.getMonth()) + 1;
4405              e = (e = (e = (e = e.replace(
4406                /(^|[^\\])MMMM+/g,
4407                "$1" + s[0]
4408              )).replace(/(^|[^\\])MMM/g, "$1" + r[0])).replace(
4409                /(^|[^\\])MM/g,
4410                "$1" + l(c)
4411              )).replace(/(^|[^\\])M/g, "$1" + c);
4412              var d = a ? t.getUTCDate() : t.getDate();
4413              e = (e = (e = (e = e.replace(
4414                /(^|[^\\])dddd+/g,
4415                "$1" + o[0]
4416              )).replace(/(^|[^\\])ddd/g, "$1" + n[0])).replace(
4417                /(^|[^\\])dd/g,
4418                "$1" + l(d)
4419              )).replace(/(^|[^\\])d/g, "$1" + d);
4420              var g = a ? t.getUTCHours() : t.getHours(),
4421                p = g > 12 ? g - 12 : 0 === g ? 12 : g;
4422              e = (e = (e = (e = e.replace(
4423                /(^|[^\\])HH+/g,
4424                "$1" + l(g)
4425              )).replace(/(^|[^\\])H/g, "$1" + g)).replace(
4426                /(^|[^\\])hh+/g,
4427                "$1" + l(p)
4428              )).replace(/(^|[^\\])h/g, "$1" + p);
4429              var f = a ? t.getUTCMinutes() : t.getMinutes();
4430              e = (e = e.replace(/(^|[^\\])mm+/g, "$1" + l(f))).replace(
4431                /(^|[^\\])m/g,
4432                "$1" + f
4433              );
4434              var x = a ? t.getUTCSeconds() : t.getSeconds();
4435              e = (e = e.replace(/(^|[^\\])ss+/g, "$1" + l(x))).replace(
4436                /(^|[^\\])s/g,
4437                "$1" + x
4438              );
4439              var b = a ? t.getUTCMilliseconds() : t.getMilliseconds();
4440              (e = e.replace(/(^|[^\\])fff+/g, "$1" + l(b, 3))),
4441                (b = Math.round(b / 10)),
4442                (e = e.replace(/(^|[^\\])ff/g, "$1" + l(b))),
4443                (b = Math.round(b / 10));
4444              var v = g < 12 ? "AM" : "PM";
4445              e = (e = (e = e.replace(/(^|[^\\])f/g, "$1" + b)).replace(
4446                /(^|[^\\])TT+/g,
4447                "$1" + v
4448              )).replace(/(^|[^\\])T/g, "$1" + v.charAt(0));
4449              var m = v.toLowerCase();
4450              e = (e = e.replace(/(^|[^\\])tt+/g, "$1" + m)).replace(
4451                /(^|[^\\])t/g,
4452                "$1" + m.charAt(0)
4453              );
4454              var y = -t.getTimezoneOffset(),
4455                w = a || !y ? "Z" : y > 0 ? "+" : "-";
4456              if (!a) {
4457                var k = (y = Math.abs(y)) % 60;
4458                w += l(Math.floor(y / 60)) + ":" + l(k);
4459              }
4460              e = e.replace(/(^|[^\\])K/g, "$1" + w);
4461              var A = (a ? t.getUTCDay() : t.getDay()) + 1;
4462              return (e = (e = (e = (e = (e = e.replace(
4463                new RegExp(o[0], "g"),
4464                o[A]
4465              )).replace(new RegExp(n[0], "g"), n[A])).replace(
4466                new RegExp(s[0], "g"),
4467                s[c]
4468              )).replace(new RegExp(r[0], "g"), r[c])).replace(/\\(.)/g, "$1"));
4469            },
4470          },
4471          {
4472            key: "getTimeUnitsfromTimestamp",
4473            value: function (t, e, i) {
4474              var a = this.w;
4475              void 0 !== a.config.xaxis.min && (t = a.config.xaxis.min),
4476                void 0 !== a.config.xaxis.max && (e = a.config.xaxis.max);
4477              var s = this.getDate(t),
4478                r = this.getDate(e),
4479                o = this.formatDate(s, "yyyy MM dd HH mm ss fff").split(" "),
4480                n = this.formatDate(r, "yyyy MM dd HH mm ss fff").split(" ");
4481              return {
4482                minMillisecond: parseInt(o[6], 10),
4483                maxMillisecond: parseInt(n[6], 10),
4484                minSecond: parseInt(o[5], 10),
4485                maxSecond: parseInt(n[5], 10),
4486                minMinute: parseInt(o[4], 10),
4487                maxMinute: parseInt(n[4], 10),
4488                minHour: parseInt(o[3], 10),
4489                maxHour: parseInt(n[3], 10),
4490                minDate: parseInt(o[2], 10),
4491                maxDate: parseInt(n[2], 10),
4492                minMonth: parseInt(o[1], 10) - 1,
4493                maxMonth: parseInt(n[1], 10) - 1,
4494                minYear: parseInt(o[0], 10),
4495                maxYear: parseInt(n[0], 10),
4496              };
4497            },
4498          },
4499          {
4500            key: "isLeapYear",
4501            value: function (t) {
4502              return (t % 4 == 0 && t % 100 != 0) || t % 400 == 0;
4503            },
4504          },
4505          {
4506            key: "calculcateLastDaysOfMonth",
4507            value: function (t, e, i) {
4508              return this.determineDaysOfMonths(t, e) - i;
4509            },
4510          },
4511          {
4512            key: "determineDaysOfYear",
4513            value: function (t) {
4514              var e = 365;
4515              return this.isLeapYear(t) && (e = 366), e;
4516            },
4517          },
4518          {
4519            key: "determineRemainingDaysOfYear",
4520            value: function (t, e, i) {
4521              var a = this.daysCntOfYear[e] + i;
4522              return e > 1 && this.isLeapYear() && a++, a;
4523            },
4524          },
4525          {
4526            key: "determineDaysOfMonths",
4527            value: function (t, e) {
4528              var i = 30;
4529              switch (((t = x.monthMod(t)), !0)) {
4530                case this.months30.indexOf(t) > -1:
4531                  2 === t && (i = this.isLeapYear(e) ? 29 : 28);
4532                  break;
4533                case this.months31.indexOf(t) > -1:
4534                default:
4535                  i = 31;
4536              }
4537              return i;
4538            },
4539          },
4540        ]),
4541        t
4542      );
4543    })(),
4544    M = (function () {
4545      function t(e) {
4546        a(this, t),
4547          (this.ctx = e),
4548          (this.w = e.w),
4549          (this.tooltipKeyFormat = "dd MMM");
4550      }
4551      return (
4552        r(t, [
4553          {
4554            key: "xLabelFormat",
4555            value: function (t, e, i, a) {
4556              var s = this.w;
4557              if (
4558                "datetime" === s.config.xaxis.type &&
4559                void 0 === s.config.xaxis.labels.formatter &&
4560                void 0 === s.config.tooltip.x.formatter
4561              ) {
4562                var r = new I(this.ctx);
4563                return r.formatDate(r.getDate(e), s.config.tooltip.x.format);
4564              }
4565              return t(e, i, a);
4566            },
4567          },
4568          {
4569            key: "defaultGeneralFormatter",
4570            value: function (t) {
4571              return Array.isArray(t)
4572                ? t.map(function (t) {
4573                    return t;
4574                  })
4575                : t;
4576            },
4577          },
4578          {
4579            key: "defaultYFormatter",
4580            value: function (t, e, i) {
4581              var a = this.w;
4582              return (
4583                x.isNumber(t) &&
4584                  (t =
4585                    0 !== a.globals.yValueDecimal
4586                      ? t.toFixed(
4587                          void 0 !== e.decimalsInFloat
4588                            ? e.decimalsInFloat
4589                            : a.globals.yValueDecimal
4590                        )
4591                      : a.globals.maxYArr[i] - a.globals.minYArr[i] < 5
4592                      ? t.toFixed(1)
4593                      : t.toFixed(0)),
4594                t
4595              );
4596            },
4597          },
4598          {
4599            key: "setLabelFormatters",
4600            value: function () {
4601              var t = this,
4602                e = this.w;
4603              return (
4604                (e.globals.xaxisTooltipFormatter = function (e) {
4605                  return t.defaultGeneralFormatter(e);
4606                }),
4607                (e.globals.ttKeyFormatter = function (e) {
4608                  return t.defaultGeneralFormatter(e);
4609                }),
4610                (e.globals.ttZFormatter = function (t) {
4611                  return t;
4612                }),
4613                (e.globals.legendFormatter = function (e) {
4614                  return t.defaultGeneralFormatter(e);
4615                }),
4616                void 0 !== e.config.xaxis.labels.formatter
4617                  ? (e.globals.xLabelFormatter =
4618                      e.config.xaxis.labels.formatter)
4619                  : (e.globals.xLabelFormatter = function (t) {
4620                      if (x.isNumber(t)) {
4621                        if (
4622                          !e.config.xaxis.convertedCatToNumeric &&
4623                          "numeric" === e.config.xaxis.type
4624                        ) {
4625                          if (x.isNumber(e.config.xaxis.decimalsInFloat))
4626                            return t.toFixed(e.config.xaxis.decimalsInFloat);
4627                          var i = e.globals.maxX - e.globals.minX;
4628                          return i > 0 && i < 100 ? t.toFixed(1) : t.toFixed(0);
4629                        }
4630                        if (e.globals.isBarHorizontal)
4631                          if (e.globals.maxY - e.globals.minYArr < 4)
4632                            return t.toFixed(1);
4633                        return t.toFixed(0);
4634                      }
4635                      return t;
4636                    }),
4637                "function" == typeof e.config.tooltip.x.formatter
4638                  ? (e.globals.ttKeyFormatter = e.config.tooltip.x.formatter)
4639                  : (e.globals.ttKeyFormatter = e.globals.xLabelFormatter),
4640                "function" == typeof e.config.xaxis.tooltip.formatter &&
4641                  (e.globals.xaxisTooltipFormatter =
4642                    e.config.xaxis.tooltip.formatter),
4643                (Array.isArray(e.config.tooltip.y) ||
4644                  void 0 !== e.config.tooltip.y.formatter) &&
4645                  (e.globals.ttVal = e.config.tooltip.y),
4646                void 0 !== e.config.tooltip.z.formatter &&
4647                  (e.globals.ttZFormatter = e.config.tooltip.z.formatter),
4648                void 0 !== e.config.legend.formatter &&
4649                  (e.globals.legendFormatter = e.config.legend.formatter),
4650                e.config.yaxis.forEach(function (i, a) {
4651                  void 0 !== i.labels.formatter
4652                    ? (e.globals.yLabelFormatters[a] = i.labels.formatter)
4653                    : (e.globals.yLabelFormatters[a] = function (s) {
4654                        return e.globals.xyCharts
4655                          ? Array.isArray(s)
4656                            ? s.map(function (e) {
4657                                return t.defaultYFormatter(e, i, a);
4658                              })
4659                            : t.defaultYFormatter(s, i, a)
4660                          : s;
4661                      });
4662                }),
4663                e.globals
4664              );
4665            },
4666          },
4667          {
4668            key: "heatmapLabelFormatters",
4669            value: function () {
4670              var t = this.w;
4671              if ("heatmap" === t.config.chart.type) {
4672                t.globals.yAxisScale[0].result = t.globals.seriesNames.slice();
4673                var e = t.globals.seriesNames.reduce(function (t, e) {
4674                  return t.length > e.length ? t : e;
4675                }, 0);
4676                (t.globals.yAxisScale[0].niceMax = e),
4677                  (t.globals.yAxisScale[0].niceMin = e);
4678              }
4679            },
4680          },
4681        ]),
4682        t
4683      );
4684    })(),
4685    T = function (t) {
4686      var e,
4687        i = t.isTimeline,
4688        a = t.ctx,
4689        s = t.seriesIndex,
4690        r = t.dataPointIndex,
4691        o = t.y1,
4692        n = t.y2,
4693        l = t.w,
4694        h = l.globals.seriesRangeStart[s][r],
4695        c = l.globals.seriesRangeEnd[s][r],
4696        d = l.globals.labels[r],
4697        g = l.config.series[s].name ? l.config.series[s].name : "",
4698        u = l.globals.ttKeyFormatter,
4699        p = l.config.tooltip.y.title.formatter,
4700        f = { w: l, seriesIndex: s, dataPointIndex: r, start: h, end: c };
4701      ("function" == typeof p && (g = p(g, f)),
4702      null !== (e = l.config.series[s].data[r]) &&
4703        void 0 !== e &&
4704        e.x &&
4705        (d = l.config.series[s].data[r].x),
4706      i) ||
4707        ("datetime" === l.config.xaxis.type &&
4708          (d = new M(a).xLabelFormat(l.globals.ttKeyFormatter, d, d, {
4709            i: void 0,
4710            dateFormatter: new I(a).formatDate,
4711            w: l,
4712          })));
4713      "function" == typeof u && (d = u(d, f)),
4714        Number.isFinite(o) && Number.isFinite(n) && ((h = o), (c = n));
4715      var x = "",
4716        b = "",
4717        v = l.globals.colors[s];
4718      if (void 0 === l.config.tooltip.x.formatter)
4719        if ("datetime" === l.config.xaxis.type) {
4720          var m = new I(a);
4721          (x = m.formatDate(m.getDate(h), l.config.tooltip.x.format)),
4722            (b = m.formatDate(m.getDate(c), l.config.tooltip.x.format));
4723        } else (x = h), (b = c);
4724      else
4725        (x = l.config.tooltip.x.formatter(h)),
4726          (b = l.config.tooltip.x.formatter(c));
4727      return {
4728        start: h,
4729        end: c,
4730        startVal: x,
4731        endVal: b,
4732        ylabel: d,
4733        color: v,
4734        seriesName: g,
4735      };
4736    },
4737    z = function (t) {
4738      var e = t.color,
4739        i = t.seriesName,
4740        a = t.ylabel,
4741        s = t.start,
4742        r = t.end,
4743        o = t.seriesIndex,
4744        n = t.dataPointIndex,
4745        l = t.ctx.tooltip.tooltipLabels.getFormatters(o);
4746      (s = l.yLbFormatter(s)), (r = l.yLbFormatter(r));
4747      var h = l.yLbFormatter(t.w.globals.series[o][n]),
4748        c = '<span class="value start-value">\n  '
4749          .concat(
4750            s,
4751            '\n  </span> <span class="separator">-</span> <span class="value end-value">\n  '
4752          )
4753          .concat(r, "\n  </span>");
4754      return (
4755        '<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: ' +
4756        e +
4757        '">' +
4758        (i || "") +
4759        '</span></div><div> <span class="category">' +
4760        a +
4761        ": </span> " +
4762        (t.w.globals.comboCharts
4763          ? "rangeArea" === t.w.config.series[o].type ||
4764            "rangeBar" === t.w.config.series[o].type
4765            ? c
4766            : "<span>".concat(h, "</span>")
4767          : c) +
4768        " </div></div>"
4769      );
4770    },
4771    X = (function () {
4772      function t(e) {
4773        a(this, t), (this.opts = e);
4774      }
4775      return (
4776        r(t, [
4777          {
4778            key: "hideYAxis",
4779            value: function () {
4780              (this.opts.yaxis[0].show = !1),
4781                (this.opts.yaxis[0].title.text = ""),
4782                (this.opts.yaxis[0].axisBorder.show = !1),
4783                (this.opts.yaxis[0].axisTicks.show = !1),
4784                (this.opts.yaxis[0].floating = !0);
4785            },
4786          },
4787          {
4788            key: "line",
4789            value: function () {
4790              return {
4791                chart: { animations: { easing: "swing" } },
4792                dataLabels: { enabled: !1 },
4793                stroke: { width: 5, curve: "straight" },
4794                markers: { size: 0, hover: { sizeOffset: 6 } },
4795                xaxis: { crosshairs: { width: 1 } },
4796              };
4797            },
4798          },
4799          {
4800            key: "sparkline",
4801            value: function (t) {
4802              this.hideYAxis();
4803              return x.extend(t, {
4804                grid: {
4805                  show: !1,
4806                  padding: { left: 0, right: 0, top: 0, bottom: 0 },
4807                },
4808                legend: { show: !1 },
4809                xaxis: {
4810                  labels: { show: !1 },
4811                  tooltip: { enabled: !1 },
4812                  axisBorder: { show: !1 },
4813                  axisTicks: { show: !1 },
4814                },
4815                chart: { toolbar: { show: !1 }, zoom: { enabled: !1 } },
4816                dataLabels: { enabled: !1 },
4817              });
4818            },
4819          },
4820          {
4821            key: "bar",
4822            value: function () {
4823              return {
4824                chart: { stacked: !1, animations: { easing: "swing" } },
4825                plotOptions: { bar: { dataLabels: { position: "center" } } },
4826                dataLabels: {
4827                  style: { colors: ["#fff"] },
4828                  background: { enabled: !1 },
4829                },
4830                stroke: { width: 0, lineCap: "round" },
4831                fill: { opacity: 0.85 },
4832                legend: { markers: { shape: "square", radius: 2, size: 8 } },
4833                tooltip: { shared: !1, intersect: !0 },
4834                xaxis: {
4835                  tooltip: { enabled: !1 },
4836                  tickPlacement: "between",
4837                  crosshairs: {
4838                    width: "barWidth",
4839                    position: "back",
4840                    fill: { type: "gradient" },
4841                    dropShadow: { enabled: !1 },
4842                    stroke: { width: 0 },
4843                  },
4844                },
4845              };
4846            },
4847          },
4848          {
4849            key: "funnel",
4850            value: function () {
4851              return (
4852                this.hideYAxis(),
4853                e(
4854                  e({}, this.bar()),
4855                  {},
4856                  {
4857                    chart: {
4858                      animations: {
4859                        easing: "linear",
4860                        speed: 800,
4861                        animateGradually: { enabled: !1 },
4862                      },
4863                    },
4864                    plotOptions: {
4865                      bar: {
4866                        horizontal: !0,
4867                        borderRadiusApplication: "around",
4868                        borderRadius: 0,
4869                        dataLabels: { position: "center" },
4870                      },
4871                    },
4872                    grid: { show: !1, padding: { left: 0, right: 0 } },
4873                    xaxis: {
4874                      labels: { show: !1 },
4875                      tooltip: { enabled: !1 },
4876                      axisBorder: { show: !1 },
4877                      axisTicks: { show: !1 },
4878                    },
4879                  }
4880                )
4881              );
4882            },
4883          },
4884          {
4885            key: "candlestick",
4886            value: function () {
4887              var t = this;
4888              return {
4889                stroke: { width: 1, colors: ["#333"] },
4890                fill: { opacity: 1 },
4891                dataLabels: { enabled: !1 },
4892                tooltip: {
4893                  shared: !0,
4894                  custom: function (e) {
4895                    var i = e.seriesIndex,
4896                      a = e.dataPointIndex,
4897                      s = e.w;
4898                    return t._getBoxTooltip(
4899                      s,
4900                      i,
4901                      a,
4902                      ["Open", "High", "", "Low", "Close"],
4903                      "candlestick"
4904                    );
4905                  },
4906                },
4907                states: { active: { filter: { type: "none" } } },
4908                xaxis: { crosshairs: { width: 1 } },
4909              };
4910            },
4911          },
4912          {
4913            key: "boxPlot",
4914            value: function () {
4915              var t = this;
4916              return {
4917                chart: { animations: { dynamicAnimation: { enabled: !1 } } },
4918                stroke: { width: 1, colors: ["#24292e"] },
4919                dataLabels: { enabled: !1 },
4920                tooltip: {
4921                  shared: !0,
4922                  custom: function (e) {
4923                    var i = e.seriesIndex,
4924                      a = e.dataPointIndex,
4925                      s = e.w;
4926                    return t._getBoxTooltip(
4927                      s,
4928                      i,
4929                      a,
4930                      ["Minimum", "Q1", "Median", "Q3", "Maximum"],
4931                      "boxPlot"
4932                    );
4933                  },
4934                },
4935                markers: { size: 5, strokeWidth: 1, strokeColors: "#111" },
4936                xaxis: { crosshairs: { width: 1 } },
4937              };
4938            },
4939          },
4940          {
4941            key: "rangeBar",
4942            value: function () {
4943              return {
4944                chart: { animations: { animateGradually: !1 } },
4945                stroke: { width: 0, lineCap: "square" },
4946                plotOptions: {
4947                  bar: { borderRadius: 0, dataLabels: { position: "center" } },
4948                },
4949                dataLabels: {
4950                  enabled: !1,
4951                  formatter: function (t, e) {
4952                    e.ctx;
4953                    var i = e.seriesIndex,
4954                      a = e.dataPointIndex,
4955                      s = e.w,
4956                      r = function () {
4957                        var t = s.globals.seriesRangeStart[i][a];
4958                        return s.globals.seriesRangeEnd[i][a] - t;
4959                      };
4960                    return s.globals.comboCharts
4961                      ? "rangeBar" === s.config.series[i].type ||
4962                        "rangeArea" === s.config.series[i].type
4963                        ? r()
4964                        : t
4965                      : r();
4966                  },
4967                  background: { enabled: !1 },
4968                  style: { colors: ["#fff"] },
4969                },
4970                markers: { size: 10 },
4971                tooltip: {
4972                  shared: !1,
4973                  followCursor: !0,
4974                  custom: function (t) {
4975                    return t.w.config.plotOptions &&
4976                      t.w.config.plotOptions.bar &&
4977                      t.w.config.plotOptions.bar.horizontal
4978                      ? (function (t) {
4979                          var i = T(e(e({}, t), {}, { isTimeline: !0 })),
4980                            a = i.color,
4981                            s = i.seriesName,
4982                            r = i.ylabel,
4983                            o = i.startVal,
4984                            n = i.endVal;
4985                          return z(
4986                            e(
4987                              e({}, t),
4988                              {},
4989                              {
4990                                color: a,
4991                                seriesName: s,
4992                                ylabel: r,
4993                                start: o,
4994                                end: n,
4995                              }
4996                            )
4997                          );
4998                        })(t)
4999                      : (function (t) {
5000                          var i = T(t),
5001                            a = i.color,
5002                            s = i.seriesName,
5003                            r = i.ylabel,
5004                            o = i.start,
5005                            n = i.end;
5006                          return z(
5007                            e(
5008                              e({}, t),
5009                              {},
5010                              {
5011                                color: a,
5012                                seriesName: s,
5013                                ylabel: r,
5014                                start: o,
5015                                end: n,
5016                              }
5017                            )
5018                          );
5019                        })(t);
5020                  },
5021                },
5022                xaxis: {
5023                  tickPlacement: "between",
5024                  tooltip: { enabled: !1 },
5025                  crosshairs: { stroke: { width: 0 } },
5026                },
5027              };
5028            },
5029          },
5030          {
5031            key: "dumbbell",
5032            value: function (t) {
5033              var e, i;
5034              return (
5035                (null !== (e = t.plotOptions.bar) &&
5036                  void 0 !== e &&
5037                  e.barHeight) ||
5038                  (t.plotOptions.bar.barHeight = 2),
5039                (null !== (i = t.plotOptions.bar) &&
5040                  void 0 !== i &&
5041                  i.columnWidth) ||
5042                  (t.plotOptions.bar.columnWidth = 2),
5043                t
5044              );
5045            },
5046          },
5047          {
5048            key: "area",
5049            value: function () {
5050              return {
5051                stroke: {
5052                  width: 4,
5053                  fill: {
5054                    type: "solid",
5055                    gradient: {
5056                      inverseColors: !1,
5057                      shade: "light",
5058                      type: "vertical",
5059                      opacityFrom: 0.65,
5060                      opacityTo: 0.5,
5061                      stops: [0, 100, 100],
5062                    },
5063                  },
5064                },
5065                fill: {
5066                  type: "gradient",
5067                  gradient: {
5068                    inverseColors: !1,
5069                    shade: "light",
5070                    type: "vertical",
5071                    opacityFrom: 0.65,
5072                    opacityTo: 0.5,
5073                    stops: [0, 100, 100],
5074                  },
5075                },
5076                markers: { size: 0, hover: { sizeOffset: 6 } },
5077                tooltip: { followCursor: !1 },
5078              };
5079            },
5080          },
5081          {
5082            key: "rangeArea",
5083            value: function () {
5084              return {
5085                stroke: { curve: "straight", width: 0 },
5086                fill: { type: "solid", opacity: 0.6 },
5087                markers: { size: 0 },
5088                states: {
5089                  hover: { filter: { type: "none" } },
5090                  active: { filter: { type: "none" } },
5091                },
5092                tooltip: {
5093                  intersect: !1,
5094                  shared: !0,
5095                  followCursor: !0,
5096                  custom: function (t) {
5097                    return (function (t) {
5098                      var i = T(t),
5099                        a = i.color,
5100                        s = i.seriesName,
5101                        r = i.ylabel,
5102                        o = i.start,
5103                        n = i.end;
5104                      return z(
5105                        e(
5106                          e({}, t),
5107                          {},
5108                          {
5109                            color: a,
5110                            seriesName: s,
5111                            ylabel: r,
5112                            start: o,
5113                            end: n,
5114                          }
5115                        )
5116                      );
5117                    })(t);
5118                  },
5119                },
5120              };
5121            },
5122          },
5123          {
5124            key: "brush",
5125            value: function (t) {
5126              return x.extend(t, {
5127                chart: {
5128                  toolbar: { autoSelected: "selection", show: !1 },
5129                  zoom: { enabled: !1 },
5130                },
5131                dataLabels: { enabled: !1 },
5132                stroke: { width: 1 },
5133                tooltip: { enabled: !1 },
5134                xaxis: { tooltip: { enabled: !1 } },
5135              });
5136            },
5137          },
5138          {
5139            key: "stacked100",
5140            value: function (t) {
5141              (t.dataLabels = t.dataLabels || {}),
5142                (t.dataLabels.formatter = t.dataLabels.formatter || void 0);
5143              var e = t.dataLabels.formatter;
5144              return (
5145                t.yaxis.forEach(function (e, i) {
5146                  (t.yaxis[i].min = 0), (t.yaxis[i].max = 100);
5147                }),
5148                "bar" === t.chart.type &&
5149                  (t.dataLabels.formatter =
5150                    e ||
5151                    function (t) {
5152                      return "number" == typeof t && t ? t.toFixed(0) + "%" : t;
5153                    }),
5154                t
5155              );
5156            },
5157          },
5158          {
5159            key: "stackedBars",
5160            value: function () {
5161              var t = this.bar();
5162              return e(
5163                e({}, t),
5164                {},
5165                {
5166                  plotOptions: e(
5167                    e({}, t.plotOptions),
5168                    {},
5169                    {
5170                      bar: e(
5171                        e({}, t.plotOptions.bar),
5172                        {},
5173                        {
5174                          borderRadiusApplication: "end",
5175                          borderRadiusWhenStacked: "last",
5176                        }
5177                      ),
5178                    }
5179                  ),
5180                }
5181              );
5182            },
5183          },
5184          {
5185            key: "convertCatToNumeric",
5186            value: function (t) {
5187              return (t.xaxis.convertedCatToNumeric = !0), t;
5188            },
5189          },
5190          {
5191            key: "convertCatToNumericXaxis",
5192            value: function (t, e, i) {
5193              (t.xaxis.type = "numeric"),
5194                (t.xaxis.labels = t.xaxis.labels || {}),
5195                (t.xaxis.labels.formatter =
5196                  t.xaxis.labels.formatter ||
5197                  function (t) {
5198                    return x.isNumber(t) ? Math.floor(t) : t;
5199                  });
5200              var a = t.xaxis.labels.formatter,
5201                s =
5202                  t.xaxis.categories && t.xaxis.categories.length
5203                    ? t.xaxis.categories
5204                    : t.labels;
5205              return (
5206                i &&
5207                  i.length &&
5208                  (s = i.map(function (t) {
5209                    return Array.isArray(t) ? t : String(t);
5210                  })),
5211                s &&
5212                  s.length &&
5213                  (t.xaxis.labels.formatter = function (t) {
5214                    return x.isNumber(t) ? a(s[Math.floor(t) - 1]) : a(t);
5215                  }),
5216                (t.xaxis.categories = []),
5217                (t.labels = []),
5218                (t.xaxis.tickAmount = t.xaxis.tickAmount || "dataPoints"),
5219                t
5220              );
5221            },
5222          },
5223          {
5224            key: "bubble",
5225            value: function () {
5226              return {
5227                dataLabels: { style: { colors: ["#fff"] } },
5228                tooltip: { shared: !1, intersect: !0 },
5229                xaxis: { crosshairs: { width: 0 } },
5230                fill: {
5231                  type: "solid",
5232                  gradient: {
5233                    shade: "light",
5234                    inverse: !0,
5235                    shadeIntensity: 0.55,
5236                    opacityFrom: 0.4,
5237                    opacityTo: 0.8,
5238                  },
5239                },
5240              };
5241            },
5242          },
5243          {
5244            key: "scatter",
5245            value: function () {
5246              return {
5247                dataLabels: { enabled: !1 },
5248                tooltip: { shared: !1, intersect: !0 },
5249                markers: { size: 6, strokeWidth: 1, hover: { sizeOffset: 2 } },
5250              };
5251            },
5252          },
5253          {
5254            key: "heatmap",
5255            value: function () {
5256              return {
5257                chart: { stacked: !1 },
5258                fill: { opacity: 1 },
5259                dataLabels: { style: { colors: ["#fff"] } },
5260                stroke: { colors: ["#fff"] },
5261                tooltip: {
5262                  followCursor: !0,
5263                  marker: { show: !1 },
5264                  x: { show: !1 },
5265                },
5266                legend: {
5267                  position: "top",
5268                  markers: { shape: "square", size: 10, offsetY: 2 },
5269                },
5270                grid: { padding: { right: 20 } },
5271              };
5272            },
5273          },
5274          {
5275            key: "treemap",
5276            value: function () {
5277              return {
5278                chart: { zoom: { enabled: !1 } },
5279                dataLabels: {
5280                  style: { fontSize: 14, fontWeight: 600, colors: ["#fff"] },
5281                },
5282                stroke: { show: !0, width: 2, colors: ["#fff"] },
5283                legend: { show: !1 },
5284                fill: { gradient: { stops: [0, 100] } },
5285                tooltip: { followCursor: !0, x: { show: !1 } },
5286                grid: { padding: { left: 0, right: 0 } },
5287                xaxis: { crosshairs: { show: !1 }, tooltip: { enabled: !1 } },
5288              };
5289            },
5290          },
5291          {
5292            key: "pie",
5293            value: function () {
5294              return {
5295                chart: { toolbar: { show: !1 } },
5296                plotOptions: { pie: { donut: { labels: { show: !1 } } } },
5297                dataLabels: {
5298                  formatter: function (t) {
5299                    return t.toFixed(1) + "%";
5300                  },
5301                  style: { colors: ["#fff"] },
5302                  background: { enabled: !1 },
5303                  dropShadow: { enabled: !0 },
5304                },
5305                stroke: { colors: ["#fff"] },
5306                fill: {
5307                  opacity: 1,
5308                  gradient: { shade: "light", stops: [0, 100] },
5309                },
5310                tooltip: { theme: "dark", fillSeriesColor: !0 },
5311                legend: { position: "right" },
5312              };
5313            },
5314          },
5315          {
5316            key: "donut",
5317            value: function () {
5318              return {
5319                chart: { toolbar: { show: !1 } },
5320                dataLabels: {
5321                  formatter: function (t) {
5322                    return t.toFixed(1) + "%";
5323                  },
5324                  style: { colors: ["#fff"] },
5325                  background: { enabled: !1 },
5326                  dropShadow: { enabled: !0 },
5327                },
5328                stroke: { colors: ["#fff"] },
5329                fill: {
5330                  opacity: 1,
5331                  gradient: {
5332                    shade: "light",
5333                    shadeIntensity: 0.35,
5334                    stops: [80, 100],
5335                    opacityFrom: 1,
5336                    opacityTo: 1,
5337                  },
5338                },
5339                tooltip: { theme: "dark", fillSeriesColor: !0 },
5340                legend: { position: "right" },
5341              };
5342            },
5343          },
5344          {
5345            key: "polarArea",
5346            value: function () {
5347              return {
5348                chart: { toolbar: { show: !1 } },
5349                dataLabels: {
5350                  formatter: function (t) {
5351                    return t.toFixed(1) + "%";
5352                  },
5353                  enabled: !1,
5354                },
5355                stroke: { show: !0, width: 2 },
5356                fill: { opacity: 0.7 },
5357                tooltip: { theme: "dark", fillSeriesColor: !0 },
5358                legend: { position: "right" },
5359              };
5360            },
5361          },
5362          {
5363            key: "radar",
5364            value: function () {
5365              return (
5366                (this.opts.yaxis[0].labels.offsetY = this.opts.yaxis[0].labels
5367                  .offsetY
5368                  ? this.opts.yaxis[0].labels.offsetY
5369                  : 6),
5370                {
5371                  dataLabels: { enabled: !1, style: { fontSize: "11px" } },
5372                  stroke: { width: 2 },
5373                  markers: { size: 3, strokeWidth: 1, strokeOpacity: 1 },
5374                  fill: { opacity: 0.2 },
5375                  tooltip: { shared: !1, intersect: !0, followCursor: !0 },
5376                  grid: { show: !1 },
5377                  xaxis: {
5378                    labels: {
5379                      formatter: function (t) {
5380                        return t;
5381                      },
5382                      style: { colors: ["#a8a8a8"], fontSize: "11px" },
5383                    },
5384                    tooltip: { enabled: !1 },
5385                    crosshairs: { show: !1 },
5386                  },
5387                }
5388              );
5389            },
5390          },
5391          {
5392            key: "radialBar",
5393            value: function () {
5394              return {
5395                chart: {
5396                  animations: { dynamicAnimation: { enabled: !0, speed: 8
539600 } },
5397                  toolbar: { show: !1 },
5398                },
5399                fill: {
5400                  gradient: {
5401                    shade: "dark",
5402                    shadeIntensity: 0.4,
5403                    inverseColors: !1,
5404                    type: "diagonal2",
5405                    opacityFrom: 1,
5406                    opacityTo: 1,
5407                    stops: [70, 98, 100],
5408                  },
5409                },
5410                legend: { show: !1, position: "right" },
5411                tooltip: { enabled: !1, fillSeriesColor: !0 },
5412              };
5413            },
5414          },
5415          {
5416            key: "_getBoxTooltip",
5417            value: function (t, e, i, a, s) {
5418              var r = t.globals.seriesCandleO[e][i],
5419                o = t.globals.seriesCandleH[e][i],
5420                n = t.globals.seriesCandleM[e][i],
5421                l = t.globals.seriesCandleL[e][i],
5422                h = t.globals.seriesCandleC[e][i];
5423              return t.config.series[e].type && t.config.series[e].type !== s
5424                ? '<div class="apexcharts-custom-tooltip">\n          '
5425                    .concat(
5426                      t.config.series[e].name
5427                        ? t.config.series[e].name
5428                        : "series-" + (e + 1),
5429                      ": <strong>"
5430                    )
5431                    .concat(t.globals.series[e][i], "</strong>\n        </div>")
5432                : '<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(
5433                    t.config.chart.type,
5434                    '">'
5435                  ) +
5436                    "<div>".concat(a[0], ': <span class="value">') +
5437                    r +
5438                    "</span></div>" +
5439                    "<div>".concat(a[1], ': <span class="value">') +
5440                    o +
5441                    "</span></div>" +
5442                    (n
5443                      ? "<div>".concat(a[2], ': <span class="value">') +
5444                        n +
5445                        "</span></div>"
5446                      : "") +
5447                    "<div>".concat(a[3], ': <span class="value">') +
5448                    l +
5449                    "</span></div>" +
5450                    "<div>".concat(a[4], ': <span class="value">') +
5451                    h +
5452                    "</span></div></div>";
5453            },
5454          },
5455        ]),
5456        t
5457      );
5458    })(),
5459    E = (function () {
5460      function t(e) {
5461        a(this, t), (this.opts = e);
5462      }
5463      return (
5464        r(t, [
5465          {
5466            key: "init",
5467            value: function (t) {
5468              var e = t.responsiveOverride,
5469                a = this.opts,
5470                s = new L(),
5471                r = new X(a);
5472              (this.chartType = a.chart.type),
5473                (a = this.extendYAxis(a)),
5474                (a = this.extendAnnotations(a));
5475              var o = s.init(),
5476                n = {};
5477              if (a && "object" === i(a)) {
5478                var l,
5479                  h,
5480                  c,
5481                  d,
5482                  g,
5483                  u,
5484                  p,
5485                  f,
5486                  b = {};
5487                (b =
5488                  -1 !==
5489                  [
5490                    "line",
5491                    "area",
5492                    "bar",
5493                    "candlestick",
5494                    "boxPlot",
5495                    "rangeBar",
5496                    "rangeArea",
5497                    "bubble",
5498                    "scatter",
5499                    "heatmap",
5500                    "treemap",
5501                    "pie",
5502                    "polarArea",
5503                    "donut",
5504                    "radar",
5505                    "radialBar",
5506                  ].indexOf(a.chart.type)
5507                    ? r[a.chart.type]()
5508                    : r.line()),
5509                  null !== (l = a.plotOptions) &&
5510                    void 0 !== l &&
5511                    null !== (h = l.bar) &&
5512                    void 0 !== h &&
5513                    h.isFunnel &&
5514                    (b = r.funnel()),
5515                  a.chart.stacked &&
5516                    "bar" === a.chart.type &&
5517                    (b = r.stackedBars()),
5518                  null !== (c = a.chart.brush) &&
5519                    void 0 !== c &&
5520                    c.enabled &&
5521                    (b = r.brush(b)),
5522                  a.chart.stacked &&
5523                    "100%" === a.chart.stackType &&
5524                    (a = r.stacked100(a)),
5525                  null !== (d = a.plotOptions) &&
5526                    void 0 !== d &&
5527                    null !== (g = d.bar) &&
5528                    void 0 !== g &&
5529                    g.isDumbbell &&
5530                    (a = r.dumbbell(a)),
5531                  this.checkForDarkTheme(window.Apex),
5532                  this.checkForDarkTheme(a),
5533                  (a.xaxis = a.xaxis || window.Apex.xaxis || {}),
5534                  e || (a.xaxis.convertedCatToNumeric = !1),
5535                  ((null !==
5536                    (u = (a = this.checkForCatToNumericXAxis(
5537                      this.chartType,
5538                      b,
5539                      a
5540                    )).chart.sparkline) &&
5541                    void 0 !== u &&
5542                    u.enabled) ||
5543                    (null !== (p = window.Apex.chart) &&
5544                      void 0 !== p &&
5545                      null !== (f = p.sparkline) &&
5546                      void 0 !== f &&
5547                      f.enabled)) &&
5548                    (b = r.sparkline(b)),
5549                  (n = x.extend(o, b));
5550              }
5551              var v = x.extend(n, window.Apex);
5552              return (o = x.extend(v, a)), (o = this.handleUserInputErrors(o));
5553            },
5554          },
5555          {
5556            key: "checkForCatToNumericXAxis",
5557            value: function (t, e, i) {
5558              var a,
5559                s,
5560                r = new X(i),
5561                o =
5562                  ("bar" === t || "boxPlot" === t) &&
5563                  (null === (a = i.plotOptions) ||
5564                  void 0 === a ||
5565                  null === (s = a.bar) ||
5566                  void 0 === s
5567                    ? void 0
5568                    : s.horizontal),
5569                n =
5570                  "pie" === t ||
5571                  "polarArea" === t ||
5572                  "donut" === t ||
5573                  "radar" === t ||
5574                  "radialBar" === t ||
5575                  "heatmap" === t,
5576                l = "datetime" !== i.xaxis.type && "numeric" !== i.xaxis.type,
5577                h = i.xaxis.tickPlacement
5578                  ? i.xaxis.tickPlacement
5579                  : e.xaxis && e.xaxis.tickPlacement;
5580              return (
5581                o ||
5582                  n ||
5583                  !l ||
5584                  "between" === h ||
5585                  (i = r.convertCatToNumeric(i)),
5586                i
5587              );
5588            },
5589          },
5590          {
5591            key: "extendYAxis",
5592            value: function (t, e) {
5593              var i = new L();
5594              (void 0 === t.yaxis ||
5595                !t.yaxis ||
5596                (Array.isArray(t.yaxis) && 0 === t.yaxis.length)) &&
5597                (t.yaxis = {}),
5598                t.yaxis.constructor !== Array &&
5599                  window.Apex.yaxis &&
5600                  window.Apex.yaxis.constructor !== Array &&
5601                  (t.yaxis = x.extend(t.yaxis, window.Apex.yaxis)),
5602                t.yaxis.constructor !== Array
5603                  ? (t.yaxis = [x.extend(i.yAxis, t.yaxis)])
5604                  : (t.yaxis = x.extendArray(t.yaxis, i.yAxis));
5605              var a = !1;
5606              t.yaxis.forEach(function (t) {
5607                t.logarithmic && (a = !0);
5608              });
5609              var s = t.series;
5610              return (
5611                e && !s && (s = e.config.series),
5612                a &&
5613                  s.length !== t.yaxis.length &&
5614                  s.length &&
5615                  (t.yaxis = s.map(function (e, a) {
5616                    if (
5617                      (e.name || (s[a].name = "series-".concat(a + 1)),
5618                      t.yaxis[a])
5619                    )
5620                      return (t.yaxis[a].seriesName = s[a].name), t.yaxis[a];
5621                    var r = x.extend(i.yAxis, t.yaxis[0]);
5622                    return (r.show = !1), r;
5623                  })),
5624                a &&
5625                  s.length > 1 &&
5626                  s.length !== t.yaxis.length &&
5627                  console.warn(
5628                    "A multi-series logarithmic chart should have equal number of series and y-axes"
5629                  ),
5630                t
5631              );
5632            },
5633          },
5634          {
5635            key: "extendAnnotations",
5636            value: function (t) {
5637              return (
5638                void 0 === t.annotations &&
5639                  ((t.annotations = {}),
5640                  (t.annotations.yaxis = []),
5641                  (t.annotations.xaxis = []),
5642                  (t.annotations.points = [])),
5643                (t = this.extendYAxisAnnotations(t)),
5644                (t = this.extendXAxisAnnotations(t)),
5645                (t = this.extendPointAnnotations(t))
5646              );
5647            },
5648          },
5649          {
5650            key: "extendYAxisAnnotations",
5651            value: function (t) {
5652              var e = new L();
5653              return (
5654                (t.annotations.yaxis = x.extendArray(
5655                  void 0 !== t.annotations.yaxis ? t.annotations.yaxis : [],
5656                  e.yAxisAnnotation
5657                )),
5658                t
5659              );
5660            },
5661          },
5662          {
5663            key: "extendXAxisAnnotations",
5664            value: function (t) {
5665              var e = new L();
5666              return (
5667                (t.annotations.xaxis = x.extendArray(
5668                  void 0 !== t.annotations.xaxis ? t.annotations.xaxis : [],
5669                  e.xAxisAnnotation
5670                )),
5671                t
5672              );
5673            },
5674          },
5675          {
5676            key: "extendPointAnnotations",
5677            value: function (t) {
5678              var e = new L();
5679              return (
5680                (t.annotations.points = x.extendArray(
5681                  void 0 !== t.annotations.points ? t.annotations.points : [],
5682                  e.pointAnnotation
5683                )),
5684                t
5685              );
5686            },
5687          },
5688          {
5689            key: "checkForDarkTheme",
5690            value: function (t) {
5691              t.theme &&
5692                "dark" === t.theme.mode &&
5693                (t.tooltip || (t.tooltip = {}),
5694                "light" !== t.tooltip.theme && (t.tooltip.theme = "dark"),
5695                t.chart.foreColor || (t.chart.foreColor = "#f6f7f8"),
5696                t.chart.background || (t.chart.background = "#424242"),
5697                t.theme.palette || (t.theme.palette = "palette4"));
5698            },
5699          },
5700          {
5701            key: "handleUserInputErrors",
5702            value: function (t) {
5703              var e = t;
5704              if (e.tooltip.shared && e.tooltip.intersect)
5705                throw new Error(
5706                  "tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false."
5707                );
5708              if ("bar" === e.chart.type && e.plotOptions.bar.horizontal) {
5709                if (e.yaxis.length > 1)
5710                  throw new Error(
5711                    "Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false"
5712                  );
5713                e.yaxis[0].reversed && (e.yaxis[0].opposite = !0),
5714                  (e.xaxis.tooltip.enabled = !1),
5715                  (e.yaxis[0].tooltip.enabled = !1),
5716                  (e.chart.zoom.enabled = !1);
5717              }
5718              return (
5719                ("bar" !== e.chart.type && "rangeBar" !== e.chart.type) ||
5720                  (e.tooltip.shared &&
5721                    "barWidth" === e.xaxis.crosshairs.width &&
5722                    e.series.length > 1 &&
5723                    (e.xaxis.crosshairs.width = "tickWidth")),
5724                ("candlestick" !== e.chart.type &&
5725                  "boxPlot" !== e.chart.type) ||
5726                  (e.yaxis[0].reversed &&
5727                    (console.warn(
5728                      "Reversed y-axis in ".concat(
5729                        e.chart.type,
5730                        " chart is not supported."
5731                      )
5732                    ),
5733                    (e.yaxis[0].reversed = !1))),
5734                e
5735              );
5736            },
5737          },
5738        ]),
5739        t
5740      );
5741    })(),
5742    Y = (function () {
5743      function t() {
5744        a(this, t);
5745      }
5746      return (
5747        r(t, [
5748          {
5749            key: "initGlobalVars",
5750            value: function (t) {
5751              (t.series = []),
5752                (t.seriesCandleO = []),
5753                (t.seriesCandleH = []),
5754                (t.seriesCandleM = []),
5755                (t.seriesCandleL = []),
5756                (t.seriesCandleC = []),
5757                (t.seriesRangeStart = []),
5758                (t.seriesRangeEnd = []),
5759                (t.seriesRange = []),
5760                (t.seriesPercent = []),
5761                (t.seriesGoals = []),
5762                (t.seriesX = []),
5763                (t.seriesZ = []),
5764                (t.seriesNames = []),
5765                (t.seriesTotals = []),
5766                (t.seriesLog = []),
5767                (t.seriesColors = []),
5768                (t.stackedSeriesTotals = []),
5769                (t.seriesXvalues = []),
5770                (t.seriesYvalues = []),
5771                (t.labels = []),
5772                (t.hasXaxisGroups = !1),
5773                (t.groups = []),
5774                (t.hasSeriesGroups = !1),
5775                (t.seriesGroups = []),
5776                (t.categoryLabels = []),
5777                (t.timescaleLabels = []),
5778                (t.noLabelsProvided = !1),
5779                (t.resizeTimer = null),
5780                (t.selectionResizeTimer = null),
5781                (t.delayedElements = []),
5782                (t.pointsArray = []),
5783                (t.dataLabelsRects = []),
5784                (t.isXNumeric = !1),
5785                (t.skipLastTimelinelabel = !1),
5786                (t.skipFirstTimelinelabel = !1),
5787                (t.isDataXYZ = !1),
5788                (t.isMultiLineX = !1),
5789                (t.isMultipleYAxis = !1),
5790                (t.maxY = -Number.MAX_VALUE),
5791                (t.minY = Number.MIN_VALUE),
5792                (t.minYArr = []),
5793                (t.maxYArr = []),
5794                (t.maxX = -Number.MAX_VALUE),
5795                (t.minX = Number.MAX_VALUE),
5796                (t.initialMaxX = -Number.MAX_VALUE),
5797                (t.initialMinX = Number.MAX_VALUE),
5798                (t.maxDate = 0),
5799                (t.minDate = Number.MAX_VALUE),
5800                (t.minZ = Number.MAX_VALUE),
5801                (t.maxZ = -Number.MAX_VALUE),
5802                (t.minXDiff = Number.MAX_VALUE),
5803                (t.yAxisScale = []),
5804                (t.xAxisScale = null),
5805                (t.xAxisTicksPositions = []),
5806                (t.yLabelsCoords = []),
5807                (t.yTitleCoords = []),
5808                (t.barPadForNumericAxis = 0),
5809                (t.padHorizontal = 0),
5810                (t.xRange = 0),
5811                (t.yRange = []),
5812                (t.zRange = 0),
5813                (t.dataPoints = 0),
5814                (t.xTickAmount = 0),
5815                (t.multiAxisTickAmount = 0);
5816            },
5817          },
5818          {
5819            key: "globalVars",
5820            value: function (t) {
5821              return {
5822                chartID: null,
5823                cuid: null,
5824                events: {
5825                  beforeMount: [],
5826                  mounted: [],
5827                  updated: [],
5828                  clicked: [],
5829                  selection: [],
5830                  dataPointSelection: [],
5831                  zoomed: [],
5832                  scrolled: [],
5833                },
5834                colors: [],
5835                clientX: null,
5836                clientY: null,
5837                fill: { colors: [] },
5838                stroke: { colors: [] },
5839                dataLabels: { style: { colors: [] } },
5840                radarPolygons: { fill: { colors: [] } },
5841                markers: { colors: [], size: t.markers.size, largestSize: 0 },
5842                animationEnded: !1,
5843                isTouchDevice:
5844                  "ontouchstart" in window || navigator.msMaxTouchPoints,
5845                isDirty: !1,
5846                isExecCalled: !1,
5847                initialConfig: null,
5848                initialSeries: [],
5849                lastXAxis: [],
5850                lastYAxis: [],
5851                columnSeries: null,
5852                labels: [],
5853                timescaleLabels: [],
5854                noLabelsProvided: !1,
5855                allSeriesCollapsed: !1,
5856                collapsedSeries: [],
5857                collapsedSeriesIndices: [],
5858                ancillaryCollapsedSeries: [],
5859                ancillaryCollapsedSeriesIndices: [],
5860                risingSeries: [],
5861                dataFormatXNumeric: !1,
5862                capturedSeriesIndex: -1,
5863                capturedDataPointIndex: -1,
5864                selectedDataPoints: [],
5865                goldenPadding: 35,
5866                invalidLogScale: !1,
5867                ignoreYAxisIndexes: [],
5868                yAxisSameScaleIndices: [],
5869                maxValsInArrayIndex: 0,
5870                radialSize: 0,
5871                selection: void 0,
5872                zoomEnabled:
5873                  "zoom" === t.chart.toolbar.autoSelected &&
5874                  t.chart.toolbar.tools.zoom &&
5875                  t.chart.zoom.enabled,
5876                panEnabled:
5877                  "pan" === t.chart.toolbar.autoSelected &&
5878                  t.chart.toolbar.tools.pan,
5879                selectionEnabled:
5880                  "selection" === t.chart.toolbar.autoSelected &&
5881                  t.chart.toolbar.tools.selection,
5882                yaxis: null,
5883                mousedown: !1,
5884                lastClientPosition: {},
5885                visibleXRange: void 0,
5886                yValueDecimal: 0,
5887                total: 0,
5888                SVGNS: "http://www.w3.org/2000/svg",
5889                svgWidth: 0,
5890                svgHeight: 0,
5891                noData: !1,
5892                locale: {},
5893                dom: {},
5894                memory: { methodsToExec: [] },
5895                shouldAnimate: !0,
5896                skipLastTimelinelabel: !1,
5897                skipFirstTimelinelabel: !1,
5898                delayedElements: [],
5899                axisCharts: !0,
5900                isDataXYZ: !1,
5901                resized: !1,
5902                resizeTimer: null,
5903                comboCharts: !1,
5904                dataChanged: !1,
5905                previousPaths: [],
5906                allSeriesHasEqualX: !0,
5907                pointsArray: [],
5908                dataLabelsRects: [],
5909                lastDrawnDataLabelsIndexes: [],
5910                hasNullValues: !1,
5911                easing: null,
5912                zoomed: !1,
5913                gridWidth: 0,
5914                gridHeight: 0,
5915                rotateXLabels: !1,
5916                defaultLabels: !1,
5917                xLabelFormatter: void 0,
5918                yLabelFormatters: [],
5919                xaxisTooltipFormatter: void 0,
5920                ttKeyFormatter: void 0,
5921                ttVal: void 0,
5922                ttZFormatter: void 0,
5923                LINE_HEIGHT_RATIO: 1.618,
5924                xAxisLabelsHeight: 0,
5925                xAxisGroupLabelsHeight: 0,
5926                xAxisLabelsWidth: 0,
5927                yAxisLabelsWidth: 0,
5928                scaleX: 1,
5929                scaleY: 1,
5930                translateX: 0,
5931                translateY: 0,
5932                translateYAxisX: [],
5933                yAxisWidths: [],
5934                translateXAxisY: 0,
5935                translateXAxisX: 0,
5936                tooltip: null,
5937                niceScaleAllowedMagMsd: [
5938                  [1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10],
5939                  [1, 1, 2, 5, 5, 5, 10, 10, 10, 10, 10],
5940                ],
5941              };
5942            },
5943          },
5944          {
5945            key: "init",
5946            value: function (t) {
5947              var e = this.globalVars(t);
5948              return (
5949                this.initGlobalVars(e),
5950                (e.initialConfig = x.extend({}, t)),
5951                (e.initialSeries = x.clone(t.series)),
5952                (e.lastXAxis = x.clone(e.initialConfig.xaxis)),
5953                (e.lastYAxis = x.clone(e.initialConfig.yaxis)),
5954                e
5955              );
5956            },
5957          },
5958        ]),
5959        t
5960      );
5961    })(),
5962    F = (function () {
5963      function t(e) {
5964        a(this, t), (this.opts = e);
5965      }
5966      return (
5967        r(t, [
5968          {
5969            key: "init",
5970            value: function () {
5971              var t = new E(this.opts).init({ responsiveOverride: !1 });
5972              return { config: t, globals: new Y().init(t) };
5973            },
5974          },
5975        ]),
5976        t
5977      );
5978    })(),
5979    R = (function () {
5980      function t(e) {
5981        a(this, t),
5982          (this.ctx = e),
5983          (this.w = e.w),
5984          (this.opts = null),
5985          (this.seriesIndex = 0);
5986      }
5987      return (
5988        r(t, [
5989          {
5990            key: "clippedImgArea",
5991            value: function (t) {
5992              var e = this.w,
5993                i = e.config,
5994                a = parseInt(e.globals.gridWidth, 10),
5995                s = parseInt(e.globals.gridHeight, 10),
5996                r = a > s ? a : s,
5997                o = t.image,
5998                n = 0,
5999                l = 0;
6000              void 0 === t.width && void 0 === t.height
6001                ? void 0 !== i.fill.image.width &&
6002                  void 0 !== i.fill.image.height
6003                  ? ((n = i.fill.image.width + 1), (l = i.fill.image.height))
6004                  : ((n = r + 1), (l = r))
6005                : ((n = t.width), (l = t.height));
6006              var h = document.createElementNS(e.globals.SVGNS, "pattern");
6007              m.setAttrs(h, {
6008                id: t.patternID,
6009                patternUnits: t.patternUnits
6010                  ? t.patternUnits
6011                  : "userSpaceOnUse",
6012                width: n + "px",
6013                height: l + "px",
6014              });
6015              var c = document.createElementNS(e.globals.SVGNS, "image");
6016              h.appendChild(c),
6017                c.setAttributeNS(window.SVG.xlink, "href", o),
6018                m.setAttrs(c, {
6019                  x: 0,
6020                  y: 0,
6021                  preserveAspectRatio: "none",
6022                  width: n + "px",
6023                  height: l + "px",
6024                }),
6025                (c.style.opacity = t.opacity),
6026                e.globals.dom.elDefs.node.appendChild(h);
6027            },
6028          },
6029          {
6030            key: "getSeriesIndex",
6031            value: function (t) {
6032              var e = this.w,
6033                i = e.config.chart.type;
6034              return (
6035                (("bar" === i || "rangeBar" === i) &&
6036                  e.config.plotOptions.bar.distributed) ||
6037                "heatmap" === i ||
6038                "treemap" === i
6039                  ? (this.seriesIndex = t.seriesNumber)
6040                  : (this.seriesIndex =
6041                      t.seriesNumber % e.globals.series.length),
6042                this.seriesIndex
6043              );
6044            },
6045          },
6046          {
6047            key: "fillPath",
6048            value: function (t) {
6049              var e = this.w;
6050              this.opts = t;
6051              var i,
6052                a,
6053                s,
6054                r = this.w.config;
6055              this.seriesIndex = this.getSeriesIndex(t);
6056              var o = this.getFillColors()[this.seriesIndex];
6057              void 0 !== e.globals.seriesColors[this.seriesIndex] &&
6058                (o = e.globals.seriesColors[this.seriesIndex]),
6059                "function" == typeof o &&
6060                  (o = o({
6061                    seriesIndex: this.seriesIndex,
6062                    dataPointIndex: t.dataPointIndex,
6063                    value: t.value,
6064                    w: e,
6065                  }));
6066              var n = t.fillType
6067                  ? t.fillType
6068                  : this.getFillType(this.seriesIndex),
6069                l = Array.isArray(r.fill.opacity)
6070                  ? r.fill.opacity[this.seriesIndex]
6071                  : r.fill.opacity;
6072              t.color && (o = t.color),
6073                o ||
6074                  ((o = "#fff"), console.warn("undefined color - ApexCharts"));
6075              var h = o;
6076              if (
6077                (-1 === o.indexOf("rgb")
6078                  ? o.length < 9 && (h = x.hexToRgba(o, l))
6079                  : o.indexOf("rgba") > -1 && (l = x.getOpacityFromRGBA(o)),
6080                t.opacity && (l = t.opacity),
6081                "pattern" === n &&
6082                  (a = this.handlePatternFill({
6083                    fillConfig: t.fillConfig,
6084                    patternFill: a,
6085                    fillColor: o,
6086                    fillOpacity: l,
6087                    defaultColor: h,
6088                  })),
6089                "gradient" === n &&
6090                  (s = this.handleGradientFill({
6091                    fillConfig: t.fillConfig,
6092                    fillColor: o,
6093                    fillOpacity: l,
6094                    i: this.seriesIndex,
6095                  })),
6096                "image" === n)
6097              ) {
6098                var c = r.fill.image.src,
6099                  d = t.patternID ? t.patternID : "";
6100                this.clippedImgArea({
6101                  opacity: l,
6102                  image: Array.isArray(c)
6103                    ? t.seriesNumber < c.length
6104                      ? c[t.seriesNumber]
6105                      : c[0]
6106                    : c,
6107                  width: t.width ? t.width : void 0,
6108                  height: t.height ? t.height : void 0,
6109                  patternUnits: t.patternUnits,
6110                  patternID: "pattern"
6111                    .concat(e.globals.cuid)
6112                    .concat(t.seriesNumber + 1)
6113                    .concat(d),
6114                }),
6115                  (i = "url(#pattern"
6116                    .concat(e.globals.cuid)
6117                    .concat(t.seriesNumber + 1)
6118                    .concat(d, ")"));
6119              } else i = "gradient" === n ? s : "pattern" === n ? a : h;
6120              return t.solid && (i = h), i;
6121            },
6122          },
6123          {
6124            key: "getFillType",
6125            value: function (t) {
6126              var e = this.w;
6127              return Array.isArray(e.config.fill.type)
6128                ? e.config.fill.type[t]
6129                : e.config.fill.type;
6130            },
6131          },
6132          {
6133            key: "getFillColors",
6134            value: function () {
6135              var t = this.w,
6136                e = t.config,
6137                i = this.opts,
6138                a = [];
6139              return (
6140                t.globals.comboCharts
6141                  ? "line" === t.config.series[this.seriesIndex].type
6142                    ? Array.isArray(t.globals.stroke.colors)
6143                      ? (a = t.globals.stroke.colors)
6144                      : a.push(t.globals.stroke.colors)
6145                    : Array.isArray(t.globals.fill.colors)
6146                    ? (a = t.globals.fill.colors)
6147                    : a.push(t.globals.fill.colors)
6148                  : "line" === e.chart.type
6149                  ? Array.isArray(t.globals.stroke.colors)
6150                    ? (a = t.globals.stroke.colors)
6151                    : a.push(t.globals.stroke.colors)
6152                  : Array.isArray(t.globals.fill.colors)
6153                  ? (a = t.globals.fill.colors)
6154                  : a.push(t.globals.fill.colors),
6155                void 0 !== i.fillColors &&
6156                  ((a = []),
6157                  Array.isArray(i.fillColors)
6158                    ? (a = i.fillColors.slice())
6159                    : a.push(i.fillColors)),
6160                a
6161              );
6162            },
6163          },
6164          {
6165            key: "handlePatternFill",
6166            value: function (t) {
6167              var e = t.fillConfig,
6168                i = t.patternFill,
6169                a = t.fillColor,
6170                s = t.fillOpacity,
6171                r = t.defaultColor,
6172                o = this.w.config.fill;
6173              e && (o = e);
6174              var n = this.opts,
6175                l = new m(this.ctx),
6176                h = Array.isArray(o.pattern.strokeWidth)
6177                  ? o.pattern.strokeWidth[this.seriesIndex]
6178                  : o.pattern.strokeWidth,
6179                c = a;
6180              Array.isArray(o.pattern.style)
6181                ? (i =
6182                    void 0 !== o.pattern.style[n.seriesNumber]
6183                      ? l.drawPattern(
6184                          o.pattern.style[n.seriesNumber],
6185                          o.pattern.width,
6186                          o.pattern.height,
6187                          c,
6188                          h,
6189                          s
6190                        )
6191                      : r)
6192                : (i = l.drawPattern(
6193                    o.pattern.style,
6194                    o.pattern.width,
6195                    o.pattern.height,
6196                    c,
6197                    h,
6198                    s
6199                  ));
6200              return i;
6201            },
6202          },
6203          {
6204            key: "handleGradientFill",
6205            value: function (t) {
6206              var i = t.fillColor,
6207                a = t.fillOpacity,
6208                s = t.fillConfig,
6209                r = t.i,
6210                o = this.w.config.fill;
6211              s && (o = e(e({}, o), s));
6212              var n,
6213                l = this.opts,
6214                h = new m(this.ctx),
6215                c = new x(),
6216                d = o.gradient.type,
6217                g = i,
6218                u =
6219                  void 0 === o.gradient.opacityFrom
6220                    ? a
6221                    : Array.isArray(o.gradient.opacityFrom)
6222                    ? o.gradient.opacityFrom[r]
6223                    : o.gradient.opacityFrom;
6224              g.indexOf("rgba") > -1 && (u = x.getOpacityFromRGBA(g));
6225              var p =
6226                void 0 === o.gradient.opacityTo
6227                  ? a
6228                  : Array.isArray(o.gradient.opacityTo)
6229                  ? o.gradient.opacityTo[r]
6230                  : o.gradient.opacityTo;
6231              if (
6232                void 0 === o.gradient.gradientToColors ||
6233                0 === o.gradient.gradientToColors.length
6234              )
6235                n =
6236                  "dark" === o.gradient.shade
6237                    ? c.shadeColor(
6238                        -1 * parseFloat(o.gradient.shadeIntensity),
6239                        i.indexOf("rgb") > -1 ? x.rgb2hex(i) : i
6240                      )
6241                    : c.shadeColor(
6242                        parseFloat(o.gradient.shadeIntensity),
6243                        i.indexOf("rgb") > -1 ? x.rgb2hex(i) : i
6244                      );
6245              else if (o.gradient.gradientToColors[l.seriesNumber]) {
6246                var f = o.gradient.gradientToColors[l.seriesNumber];
6247                (n = f),
6248                  f.indexOf("rgba") > -1 && (p = x.getOpacityFromRGBA(f));
6249              } else n = i;
6250              if (
6251                (o.gradient.gradientFrom && (g = o.gradient.gradientFrom),
6252                o.gradient.gradientTo && (n = o.gradient.gradientTo),
6253                o.gradient.inverseColors)
6254              ) {
6255                var b = g;
6256                (g = n), (n = b);
6257              }
6258              return (
6259                g.indexOf("rgb") > -1 && (g = x.rgb2hex(g)),
6260                n.indexOf("rgb") > -1 && (n = x.rgb2hex(n)),
6261                h.drawGradient(
6262                  d,
6263                  g,
6264                  n,
6265                  u,
6266                  p,
6267                  l.size,
6268                  o.gradient.stops,
6269                  o.gradient.colorStops,
6270                  r
6271                )
6272              );
6273            },
6274          },
6275        ]),
6276        t
6277      );
6278    })(),
6279    H = (function () {
6280      function t(e, i) {
6281        a(this, t), (this.ctx = e), (this.w = e.w);
6282      }
6283      return (
6284        r(t, [
6285          {
6286            key: "setGlobalMarkerSize",
6287            value: function () {
6288              var t = this.w;
6289              if (
6290                ((t.globals.markers.size = Array.isArray(t.config.markers.size)
6291                  ? t.config.markers.size
6292                  : [t.config.markers.size]),
6293                t.globals.markers.size.length > 0)
6294              ) {
6295                if (t.globals.markers.size.length < t.globals.series.length + 1)
6296                  for (var e = 0; e <= t.globals.series.length; e++)
6297                    void 0 === t.globals.markers.size[e] &&
6298                      t.globals.markers.size.push(t.globals.markers.size[0]);
6299              } else
6300                t.globals.markers.size = t.config.series.map(function (e) {
6301                  return t.config.markers.size;
6302                });
6303            },
6304          },
6305          {
6306            key: "plotChartMarkers",
6307            value: function (t, e, i, a) {
6308              var s,
6309                r =
6310                  arguments.length > 4 &&
6311                  void 0 !== arguments[4] &&
6312                  arguments[4],
6313                o = this.w,
6314                n = e,
6315                l = t,
6316                h = null,
6317                c = new m(this.ctx),
6318                d =
6319                  o.config.markers.discrete && o.config.markers.discrete.length;
6320              if (
6321                ((o.globals.markers.size[e] > 0 || r || d) &&
6322                  (h = c.group({
6323                    class: r || d ? "" : "apexcharts-series-markers",
6324                  })).attr(
6325                    "clip-path",
6326                    "url(#gridRectMarkerMask".concat(o.globals.cuid, ")")
6327                  ),
6328                Array.isArray(l.x))
6329              )
6330                for (var g = 0; g < l.x.length; g++) {
6331                  var u = i;
6332                  1 === i && 0 === g && (u = 0), 1 === i && 1 === g && (u = 1);
6333                  var p = "apexcharts-marker";
6334                  if (
6335                    (("line" !== o.config.chart.type &&
6336                      "area" !== o.config.chart.type) ||
6337                      o.globals.comboCharts ||
6338                      o.config.tooltip.intersect ||
6339                      (p += " no-pointer-events"),
6340                    (Array.isArray(o.config.markers.size)
6341                      ? o.globals.markers.size[e] > 0
6342                      : o.config.markers.size > 0) ||
6343                      r ||
6344                      d)
6345                  ) {
6346                    x.isNumber(l.y[g])
6347                      ? (p += " w".concat(x.randomId()))
6348                      : (p = "apexcharts-nullpoint");
6349                    var f = this.getMarkerConfig({
6350                      cssClass: p,
6351                      seriesIndex: e,
6352                      dataPointIndex: u,
6353                    });
6354                    o.config.series[n].data[u] &&
6355                      (o.config.series[n].data[u].fillColor &&
6356                        (f.pointFillColor =
6357                          o.config.series[n].data[u].fillColor),
6358                      o.config.series[n].data[u].strokeColor &&
6359                        (f.pointStrokeColor =
6360                          o.config.series[n].data[u].strokeColor)),
6361                      a && (f.pSize = a),
6362                      (l.x[g] < 0 ||
6363                        l.x[g] > o.globals.gridWidth ||
6364                        l.y[g] < -o.globals.markers.largestSize ||
6365                        l.y[g] >
6366                          o.globals.gridHeight +
6367                            o.globals.markers.largestSize) &&
6368                        (f.pSize = 0),
6369                      (s = c.drawMarker(l.x[g], l.y[g], f)).attr("rel", u),
6370                      s.attr("j", u),
6371                      s.attr("index", e),
6372                      s.node.setAttribute("default-marker-size", f.pSize),
6373                      new v(this.ctx).setSelectionFilter(s, e, u),
6374                      this.addEvents(s),
6375                      h && h.add(s);
6376                  } else
6377                    void 0 === o.globals.pointsArray[e] &&
6378                      (o.globals.pointsArray[e] = []),
6379                      o.globals.pointsArray[e].push([l.x[g], l.y[g]]);
6380                }
6381              return h;
6382            },
6383          },
6384          {
6385            key: "getMarkerConfig",
6386            value: function (t) {
6387              var e = t.cssClass,
6388                i = t.seriesIndex,
6389                a = t.dataPointIndex,
6390                s = void 0 === a ? null : a,
6391                r = t.finishRadius,
6392                o = void 0 === r ? null : r,
6393                n = this.w,
6394                l = this.getMarkerStyle(i),
6395                h = n.globals.markers.size[i],
6396                c = n.config.markers;
6397              return (
6398                null !== s &&
6399                  c.discrete.length &&
6400                  c.discrete.map(function (t) {
6401                    t.seriesIndex === i &&
6402                      t.dataPointIndex === s &&
6403                      ((l.pointStrokeColor = t.strokeColor),
6404                      (l.pointFillColor = t.fillColor),
6405                      (h = t.size),
6406                      (l.pointShape = t.shape));
6407                  }),
6408                {
6409                  pSize: null === o ? h : o,
6410                  pRadius: c.radius,
6411                  width: Array.isArray(c.width) ? c.width[i] : c.width,
6412                  height: Array.isArray(c.height) ? c.height[i] : c.height,
6413                  pointStrokeWidth: Array.isArray(c.strokeWidth)
6414                    ? c.strokeWidth[i]
6415                    : c.strokeWidth,
6416                  pointStrokeColor: l.pointStrokeColor,
6417                  pointFillColor: l.pointFillColor,
6418                  shape:
6419                    l.pointShape ||
6420                    (Array.isArray(c.shape) ? c.shape[i] : c.shape),
6421                  class: e,
6422                  pointStrokeOpacity: Array.isArray(c.strokeOpacity)
6423                    ? c.strokeOpacity[i]
6424                    : c.strokeOpacity,
6425                  pointStrokeDashArray: Array.isArray(c.strokeDashArray)
6426                    ? c.strokeDashArray[i]
6427                    : c.strokeDashArray,
6428                  pointFillOpacity: Array.isArray(c.fillOpacity)
6429                    ? c.fillOpacity[i]
6430                    : c.fillOpacity,
6431                  seriesIndex: i,
6432                }
6433              );
6434            },
6435          },
6436          {
6437            key: "addEvents",
6438            value: function (t) {
6439              var e = this.w,
6440                i = new m(this.ctx);
6441              t.node.addEventListener(
6442                "mouseenter",
6443                i.pathMouseEnter.bind(this.ctx, t)
6444              ),
6445                t.node.addEventListener(
6446                  "mouseleave",
6447                  i.pathMouseLeave.bind(this.ctx, t)
6448                ),
6449                t.node.addEventListener(
6450                  "mousedown",
6451                  i.pathMouseDown.bind(this.ctx, t)
6452                ),
6453                t.node.addEventListener("click", e.config.markers.onClick),
6454                t.node.addEventListener(
6455                  "dblclick",
6456                  e.config.markers.onDblClick
6457                ),
6458                t.node.addEventListener(
6459                  "touchstart",
6460                  i.pathMouseDown.bind(this.ctx, t),
6461                  { passive: !0 }
6462                );
6463            },
6464          },
6465          {
6466            key: "getMarkerStyle",
6467            value: function (t) {
6468              var e = this.w,
6469                i = e.globals.markers.colors,
6470                a =
6471                  e.config.markers.strokeColor || e.config.markers.strokeColors;
6472              return {
6473                pointStrokeColor: Array.isArray(a) ? a[t] : a,
6474                pointFillColor: Array.isArray(i) ? i[t] : i,
6475              };
6476            },
6477          },
6478        ]),
6479        t
6480      );
6481    })(),
6482    D = (function () {
6483      function t(e) {
6484        a(this, t),
6485          (this.ctx = e),
6486          (this.w = e.w),
6487          (this.initialAnim = this.w.config.chart.animations.enabled),
6488          (this.dynamicAnim =
6489            this.initialAnim &&
6490            this.w.config.chart.animations.dynamicAnimation.enabled);
6491      }
6492      return (
6493        r(t, [
6494          {
6495            key: "draw",
6496            value: function (t, e, i) {
6497              var a = this.w,
6498                s = new m(this.ctx),
6499                r = i.realIndex,
6500                o = i.pointsPos,
6501                n = i.zRatio,
6502                l = i.elParent,
6503                h = s.group({
6504                  class: "apexcharts-series-markers apexcharts-series-".concat(
6505                    a.config.chart.type
6506                  ),
6507                });
6508              if (
6509                (h.attr(
6510                  "clip-path",
6511                  "url(#gridRectMarkerMask".concat(a.globals.cuid, ")")
6512                ),
6513                Array.isArray(o.x))
6514              )
6515                for (var c = 0; c < o.x.length; c++) {
6516                  var d = e + 1,
6517                    g = !0;
6518                  0 === e && 0 === c && (d = 0), 0 === e && 1 === c && (d = 1);
6519                  var u = 0,
6520                    p = a.globals.markers.size[r];
6521                  if (n !== 1 / 0) {
6522                    var f = a.config.plotOptions.bubble;
6523                    (p = a.globals.seriesZ[r][d]),
6524                      f.zScaling && (p /= n),
6525                      f.minBubbleRadius &&
6526                        p < f.minBubbleRadius &&
6527                        (p = f.minBubbleRadius),
6528                      f.maxBubbleRadius &&
6529                        p > f.maxBubbleRadius &&
6530                        (p = f.maxBubbleRadius);
6531                  }
6532                  a.config.chart.animations.enabled || (u = p);
6533                  var x = o.x[c],
6534                    b = o.y[c];
6535                  if (
6536                    ((u = u || 0),
6537                    (null !== b && void 0 !== a.globals.series[r][d]) ||
6538                      (g = !1),
6539                    g)
6540                  ) {
6541                    var v = this.drawPoint(x, b, u, p, r, d, e);
6542                    h.add(v);
6543                  }
6544                  l.add(h);
6545                }
6546            },
6547          },
6548          {
6549            key: "drawPoint",
6550            value: function (t, e, i, a, s, r, o) {
6551              var n = this.w,
6552                l = s,
6553                h = new b(this.ctx),
6554                c = new v(this.ctx),
6555                d = new R(this.ctx),
6556                g = new H(this.ctx),
6557                u = new m(this.ctx),
6558                p = g.getMarkerConfig({
6559                  cssClass: "apexcharts-marker",
6560                  seriesIndex: l,
6561                  dataPointIndex: r,
6562                  finishRadius:
6563                    "bubble" === n.config.chart.type ||
6564                    (n.globals.comboCharts &&
6565                      n.config.series[s] &&
6566                      "bubble" === n.config.series[s].type)
6567                      ? a
6568                      : null,
6569                });
6570              a = p.pSize;
6571              var f,
6572                x = d.fillPath({
6573                  seriesNumber: s,
6574                  dataPointIndex: r,
6575                  color: p.pointFillColor,
6576                  patternUnits: "objectBoundingBox",
6577                  value: n.globals.series[s][o],
6578                });
6579              if (
6580                ("circle" === p.shape
6581                  ? (f = u.drawCircle(i))
6582                  : ("square" !== p.shape && "rect" !== p.shape) ||
6583                    (f = u.drawRect(
6584                      0,
6585                      0,
6586                      p.width - p.pointStrokeWidth / 2,
6587                      p.height - p.pointStrokeWidth / 2,
6588                      p.pRadius
6589                    )),
6590                n.config.series[l].data[r] &&
6591                  n.config.series[l].data[r].fillColor &&
6592                  (x = n.config.series[l].data[r].fillColor),
6593                f.attr({
6594                  x: t - p.width / 2 - p.pointStrokeWidth / 2,
6595                  y: e - p.height / 2 - p.pointStrokeWidth / 2,
6596                  cx: t,
6597                  cy: e,
6598                  fill: x,
6599                  "fill-opacity": p.pointFillOpacity,
6600                  stroke: p.pointStrokeColor,
6601                  r: a,
6602                  "stroke-width": p.pointStrokeWidth,
6603                  "stroke-dasharray": p.pointStrokeDashArray,
6604                  "stroke-opacity": p.pointStrokeOpacity,
6605                }),
6606                n.config.chart.dropShadow.enabled)
6607              ) {
6608                var y = n.config.chart.dropShadow;
6609                c.dropShadow(f, y, s);
6610              }
6611              if (
6612                !this.initialAnim ||
6613                n.globals.dataChanged ||
6614                n.globals.resized
6615              )
6616                n.globals.animationEnded = !0;
6617              else {
6618                var w = n.config.chart.animations.speed;
6619                h.animateMarker(
6620                  f,
6621                  0,
6622                  "circle" === p.shape
6623                    ? a
6624                    : { width: p.width, height: p.height },
6625                  w,
6626                  n.globals.easing,
6627                  function () {
6628                    window.setTimeout(function () {
6629                      h.animationCompleted(f);
6630                    }, 100);
6631                  }
6632                );
6633              }
6634              if (n.globals.dataChanged && "circle" === p.shape)
6635                if (this.dynamicAnim) {
6636                  var k,
6637                    A,
6638                    S,
6639                    C,
6640                    L = n.config.chart.animations.dynamicAnimation.speed;
6641                  null !=
6642                    (C =
6643                      n.globals.previousPaths[s] &&
6644                      n.globals.previousPaths[s][o]) &&
6645                    ((k = C.x), (A = C.y), (S = void 0 !== C.r ? C.r : a));
6646                  for (var P = 0; P < n.globals.collapsedSeries.length; P++)
6647                    n.globals.collapsedSeries[P].index === s &&
6648                      ((L = 1), (a = 0));
6649                  0 === t && 0 === e && (a = 0),
6650                    h.animateCircle(
6651                      f,
6652                      { cx: k, cy: A, r: S },
6653                      { cx: t, cy: e, r: a },
6654                      L,
6655                      n.globals.easing
6656                    );
6657                } else f.attr({ r: a });
6658              return (
6659                f.attr({ rel: r, j: r, index: s, "default-marker-size": a }),
6660                c.setSelectionFilter(f, s, r),
6661                g.addEvents(f),
6662                f.node.classList.add("apexcharts-marker"),
6663                f
6664              );
6665            },
6666          },
6667          {
6668            key: "centerTextInBubble",
6669            value: function (t) {
6670              var e = this.w;
6671              return {
6672                y: (t += parseInt(e.config.dataLabels.style.fontSize, 10) / 4),
6673              };
6674            },
6675          },
6676        ]),
6677        t
6678      );
6679    })(),
6680    O = (function () {
6681      function t(e) {
6682        a(this, t), (this.ctx = e), (this.w = e.w);
6683      }
6684      return (
6685        r(t, [
6686          {
6687            key: "dataLabelsCorrection",
6688            value: function (t, e, i, a, s, r, o) {
6689              var n = this.w,
6690                l = !1,
6691                h = new m(this.ctx).getTextRects(i, o),
6692                c = h.width,
6693                d = h.height;
6694              e < 0 && (e = 0),
6695                e > n.globals.gridHeight + d &&
6696                  (e = n.globals.gridHeight + d / 2),
6697                void 0 === n.globals.dataLabelsRects[a] &&
6698                  (n.globals.dataLabelsRects[a] = []),
6699                n.globals.dataLabelsRects[a].push({
6700                  x: t,
6701                  y: e,
6702                  width: c,
6703                  height: d,
6704                });
6705              var g = n.globals.dataLabelsRects[a].length - 2,
6706                u =
6707                  void 0 !== n.globals.lastDrawnDataLabelsIndexes[a]
6708                    ? n.globals.lastDrawnDataLabelsIndexes[a][
6709                        n.globals.lastDrawnDataLabelsIndexes[a].length - 1
6710                      ]
6711                    : 0;
6712              if (void 0 !== n.globals.dataLabelsRects[a][g]) {
6713                var p = n.globals.dataLabelsRects[a][u];
6714                (t > p.x + p.width ||
6715                  e > p.y + p.height ||
6716                  e + d < p.y ||
6717                  t + c < p.x) &&
6718                  (l = !0);
6719              }
6720              return (
6721                (0 === s || r) && (l = !0),
6722                { x: t, y: e, textRects: h, drawnextLabel: l }
6723              );
6724            },
6725          },
6726          {
6727            key: "drawDataLabel",
6728            value: function (t) {
6729              var e = this,
6730                i = t.type,
6731                a = t.pos,
6732                s = t.i,
6733                r = t.j,
6734                o = t.isRangeStart,
6735                n = t.strokeWidth,
6736                l = void 0 === n ? 2 : n,
6737                h = this.w,
6738                c = new m(this.ctx),
6739                d = h.config.dataLabels,
6740                g = 0,
6741                u = 0,
6742                p = r,
6743                f = null;
6744              if (!d.enabled || !Array.isArray(a.x)) return f;
6745              f = c.group({ class: "apexcharts-data-labels" });
6746              for (var x = 0; x < a.x.length; x++)
6747                if (
6748                  ((g = a.x[x] + d.offsetX),
6749                  (u = a.y[x] + d.offsetY + l),
6750                  !isNaN(g))
6751                ) {
6752                  1 === r && 0 === x && (p = 0), 1 === r && 1 === x && (p = 1);
6753                  var b = h.globals.series[s][p];
6754                  "rangeArea" === i &&
6755                    (b = o
6756                      ? h.globals.seriesRangeStart[s][p]
6757                      : h.globals.seriesRangeEnd[s][p]);
6758                  var v = "",
6759                    y = function (t) {
6760                      return h.config.dataLabels.formatter(t, {
6761                        ctx: e.ctx,
6762                        seriesIndex: s,
6763                        dataPointIndex: p,
6764                        w: h,
6765                      });
6766                    };
6767                  if ("bubble" === h.config.chart.type)
6768                    (v = y((b = h.globals.seriesZ[s][p]))),
6769                      (u = a.y[x]),
6770                      (u = new D(this.ctx).centerTextInBubble(u, s, p).y);
6771                  else void 0 !== b && (v = y(b));
6772                  this.plotDataLabelsText({
6773                    x: g,
6774                    y: u,
6775                    text: v,
6776                    i: s,
6777                    j: p,
6778                    parent: f,
6779                    offsetCorrection: !0,
6780                    dataLabelsConfig: h.config.dataLabels,
6781                  });
6782                }
6783              return f;
6784            },
6785          },
6786          {
6787            key: "plotDataLabelsText",
6788            value: function (t) {
6789              var e = this.w,
6790                i = new m(this.ctx),
6791                a = t.x,
6792                s = t.y,
6793                r = t.i,
6794                o = t.j,
6795                n = t.text,
6796                l = t.textAnchor,
6797                h = t.fontSize,
6798                c = t.parent,
6799                d = t.dataLabelsConfig,
6800                g = t.color,
6801                u = t.alwaysDrawDataLabel,
6802                p = t.offsetCorrection;
6803              if (
6804                !(
6805                  Array.isArray(e.config.dataLabels.enabledOnSeries) &&
6806                  e.config.dataLabels.enabledOnSeries.indexOf(r) < 0
6807                )
6808              ) {
6809                var f = { x: a, y: s, drawnextLabel: !0, textRects: null };
6810                p &&
6811                  (f = this.dataLabelsCorrection(
6812                    a,
6813                    s,
6814                    n,
6815                    r,
6816                    o,
6817                    u,
6818                    parseInt(d.style.fontSize, 10)
6819                  )),
6820                  e.globals.zoomed || ((a = f.x), (s = f.y)),
6821                  f.textRects &&
6822                    (a < -20 - f.textRects.width ||
6823                      a > e.globals.gridWidth + f.textRects.width + 30) &&
6824                    (n = "");
6825                var x = e.globals.dataLabels.style.colors[r];
6826                ((("bar" === e.config.chart.type ||
6827                  "rangeBar" === e.config.chart.type) &&
6828                  e.config.plotOptions.bar.distributed) ||
6829                  e.config.dataLabels.distributed) &&
6830                  (x = e.globals.dataLabels.style.colors[o]),
6831                  "function" == typeof x &&
6832                    (x = x({
6833                      series: e.globals.series,
6834                      seriesIndex: r,
6835                      dataPointIndex: o,
6836                      w: e,
6837                    })),
6838                  g && (x = g);
6839                var b = d.offsetX,
6840                  y = d.offsetY;
6841                if (
6842                  (("bar" !== e.config.chart.type &&
6843                    "rangeBar" !== e.config.chart.type) ||
6844                    ((b = 0), (y = 0)),
6845                  f.drawnextLabel)
6846                ) {
6847                  var w = i.drawText({
6848                    width: 100,
6849                    height: parseInt(d.style.fontSize, 10),
6850                    x: a + b,
6851                    y: s + y,
6852                    foreColor: x,
6853                    textAnchor: l || d.textAnchor,
6854                    text: n,
6855                    fontSize: h || d.style.fontSize,
6856                    fontFamily: d.style.fontFamily,
6857                    fontWeight: d.style.fontWeight || "normal",
6858                  });
6859                  if (
6860                    (w.attr({ class: "apexcharts-datalabel", cx: a, cy: s }),
6861                    d.dropShadow.enabled)
6862                  ) {
6863                    var k = d.dropShadow;
6864                    new v(this.ctx).dropShadow(w, k);
6865                  }
6866                  c.add(w),
6867                    void 0 === e.globals.lastDrawnDataLabelsIndexes[r] &&
6868                      (e.globals.lastDrawnDataLabelsIndexes[r] = []),
6869                    e.globals.lastDrawnDataLabelsIndexes[r].push(o);
6870                }
6871              }
6872            },
6873          },
6874          {
6875            key: "addBackgroundToDataLabel",
6876            value: function (t, e) {
6877              var i = this.w,
6878                a = i.config.dataLabels.background,
6879                s = a.padding,
6880                r = a.padding / 2,
6881                o = e.width,
6882                n = e.height,
6883                l = new m(this.ctx).drawRect(
6884                  e.x - s,
6885                  e.y - r / 2,
6886                  o + 2 * s,
6887                  n + r,
6888                  a.borderRadius,
6889                  "transparent" === i.config.chart.background
6890                    ? "#fff"
6891                    : i.config.chart.background,
6892                  a.opacity,
6893                  a.borderWidth,
6894                  a.borderColor
6895                );
6896              a.dropShadow.enabled &&
6897                new v(this.ctx).dropShadow(l, a.dropShadow);
6898              return l;
6899            },
6900          },
6901          {
6902            key: "dataLabelsBackground",
6903            value: function () {
6904              var t = this.w;
6905              if ("bubble" !== t.config.chart.type)
6906                for (
6907                  var e = t.globals.dom.baseEl.querySelectorAll(
6908                      ".apexcharts-datalabels text"
6909                    ),
6910                    i = 0;
6911                  i < e.length;
6912                  i++
6913                ) {
6914                  var a = e[i],
6915                    s = a.getBBox(),
6916                    r = null;
6917                  if (
6918                    (s.width &&
6919                      s.height &&
6920                      (r = this.addBackgroundToDataLabel(a, s)),
6921                    r)
6922                  ) {
6923                    a.parentNode.insertBefore(r.node, a);
6924                    var o = a.getAttribute("fill");
6925                    t.config.chart.animations.enabled &&
6926                    !t.globals.resized &&
6927                    !t.globals.dataChanged
6928                      ? r.animate().attr({ fill: o })
6929                      : r.attr({ fill: o }),
6930                      a.setAttribute(
6931                        "fill",
6932                        t.config.dataLabels.background.foreColor
6933                      );
6934                  }
6935                }
6936            },
6937          },
6938          {
6939            key: "bringForward",
6940            value: function () {
6941              for (
6942                var t = this.w,
6943                  e = t.globals.dom.baseEl.querySelectorAll(
6944                    ".apexcharts-datalabels"
6945                  ),
6946                  i = t.globals.dom.baseEl.querySelector(
6947                    ".apexcharts-plot-series:last-child"
6948                  ),
6949                  a = 0;
6950                a < e.length;
6951                a++
6952              )
6953                i && i.insertBefore(e[a], i.nextSibling);
6954            },
6955          },
6956        ]),
6957        t
6958      );
6959    })(),
6960    N = (function () {
6961      function t(e) {
6962        a(this, t),
6963          (this.ctx = e),
6964          (this.w = e.w),
6965          (this.legendInactiveClass = "legend-mouseover-inactive");
6966      }
6967      return (
6968        r(t, [
6969          {
6970            key: "getAllSeriesEls",
6971            value: function () {
6972              return this.w.globals.dom.baseEl.getElementsByClassName(
6973                "apexcharts-series"
6974              );
6975            },
6976          },
6977          {
6978            key: "getSeriesByName",
6979            value: function (t) {
6980              return this.w.globals.dom.baseEl.querySelector(
6981                ".apexcharts-inner .apexcharts-series[seriesName='".concat(
6982                  x.escapeString(t),
6983                  "']"
6984                )
6985              );
6986            },
6987          },
6988          {
6989            key: "isSeriesHidden",
6990            value: function (t) {
6991              var e = this.getSeriesByName(t),
6992                i = parseInt(e.getAttribute("data:realIndex"), 10);
6993              return {
6994                isHidden: e.classList.contains("apexcharts-series-collapsed"),
6995                realIndex: i,
6996              };
6997            },
6998          },
6999          {
7000            key: "addCollapsedClassToSeries",
7001            value: function (t, e) {
7002              var i = this.w;
7003              function a(i) {
7004                for (var a = 0; a < i.length; a++)
7005                  i[a].index === e &&
7006                    t.node.classList.add("apexcharts-series-collapsed");
7007              }
7008              a(i.globals.collapsedSeries),
7009                a(i.globals.ancillaryCollapsedSeries);
7010            },
7011          },
7012          {
7013            key: "toggleSeries",
7014            value: function (t) {
7015              var e = this.isSeriesHidden(t);
7016              return (
7017                this.ctx.legend.legendHelpers.toggleDataSeries(
7018                  e.realIndex,
7019                  e.isHidden
7020                ),
7021                e.isHidden
7022              );
7023            },
7024          },
7025          {
7026            key: "showSeries",
7027            value: function (t) {
7028              var e = this.isSeriesHidden(t);
7029              e.isHidden &&
7030                this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex, !0);
7031            },
7032          },
7033          {
7034            key: "hideSeries",
7035            value: function (t) {
7036              var e = this.isSeriesHidden(t);
7037              e.isHidden ||
7038                this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex, !1);
7039            },
7040          },
7041          {
7042            key: "resetSeries",
7043            value: function () {
7044              var t =
7045                  !(arguments.length > 0 && void 0 !== arguments[0]) ||
7046                  arguments[0],
7047                e =
7048                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
7049                  arguments[1],
7050                i =
7051                  !(arguments.length > 2 && void 0 !== arguments[2]) ||
7052                  arguments[2],
7053                a = this.w,
7054                s = x.clone(a.globals.initialSeries);
7055              (a.globals.previousPaths = []),
7056                i
7057                  ? ((a.globals.collapsedSeries = []),
7058                    (a.globals.ancillaryCollapsedSeries = []),
7059                    (a.globals.collapsedSeriesIndices = []),
7060                    (a.globals.ancillaryCollapsedSeriesIndices = []))
7061                  : (s = this.emptyCollapsedSeries(s)),
7062                (a.config.series = s),
7063                t &&
7064                  (e &&
7065                    ((a.globals.zoomed = !1),
7066                    this.ctx.updateHelpers.revertDefaultAxisMinMax()),
7067                  this.ctx.updateHelpers._updateSeries(
7068                    s,
7069                    a.config.chart.animations.dynamicAnimation.enabled
7070                  ));
7071            },
7072          },
7073          {
7074            key: "emptyCollapsedSeries",
7075            value: function (t) {
7076              for (var e = this.w, i = 0; i < t.length; i++)
7077                e.globals.collapsedSeriesIndices.indexOf(i) > -1 &&
7078                  (t[i].data = []);
7079              return t;
7080            },
7081          },
7082          {
7083            key: "toggleSeriesOnHover",
7084            value: function (t, e) {
7085              var i = this.w;
7086              e || (e = t.target);
7087              var a = i.globals.dom.baseEl.querySelectorAll(
7088                ".apexcharts-series, .apexcharts-datalabels"
7089              );
7090              if ("mousemove" === t.type) {
7091                var s = parseInt(e.getAttribute("rel"), 10) - 1,
7092                  r = null,
7093                  o = null;
7094                i.globals.axisCharts || "radialBar" === i.config.chart.type
7095                  ? i.globals.axisCharts
7096                    ? ((r = i.globals.dom.baseEl.querySelector(
7097                        ".apexcharts-series[data\\:realIndex='".concat(s, "']")
7098                      )),
7099                      (o = i.globals.dom.baseEl.querySelector(
7100                        ".apexcharts-datalabels[data\\:realIndex='".concat(
7101                          s,
7102                          "']"
7103                        )
7104                      )))
7105                    : (r = i.globals.dom.baseEl.querySelector(
7106                        ".apexcharts-series[rel='".concat(s + 1, "']")
7107                      ))
7108                  : (r = i.globals.dom.baseEl.querySelector(
7109                      ".apexcharts-series[rel='".concat(s + 1, "'] path")
7110                    ));
7111                for (var n = 0; n < a.length; n++)
7112                  a[n].classList.add(this.legendInactiveClass);
7113                null !== r &&
7114                  (i.globals.axisCharts ||
7115                    r.parentNode.classList.remove(this.legendInactiveClass),
7116                  r.classList.remove(this.legendInactiveClass),
7117                  null !== o && o.classList.remove(this.legendInactiveClass));
7118              } else if ("mouseout" === t.type)
7119                for (var l = 0; l < a.length; l++)
7120                  a[l].classList.remove(this.legendInactiveClass);
7121            },
7122          },
7123          {
7124            key: "highlightRangeInSeries",
7125            value: function (t, e) {
7126              var i = this,
7127                a = this.w,
7128                s = a.globals.dom.baseEl.getElementsByClassName(
7129                  "apexcharts-heatmap-rect"
7130                ),
7131                r = function (t) {
7132                  for (var e = 0; e < s.length; e++)
7133                    s[e].classList[t](i.legendInactiveClass);
7134                };
7135              if ("mousemove" === t.type) {
7136                var o = parseInt(e.getAttribute("rel"), 10) - 1;
7137                r("add"),
7138                  (function (t) {
7139                    for (var e = 0; e < s.length; e++) {
7140                      var a = parseInt(s[e].getAttribute("val"), 10);
7141                      a >= t.from &&
7142                        a <= t.to &&
7143                        s[e].classList.remove(i.legendInactiveClass);
7144                    }
7145                  })(a.config.plotOptions.heatmap.colorScale.ranges[o]);
7146              } else "mouseout" === t.type && r("remove");
7147            },
7148          },
7149          {
7150            key: "getActiveConfigSeriesIndex",
7151            value: function () {
7152              var t =
7153                  arguments.length > 0 && void 0 !== arguments[0]
7154                    ? arguments[0]
7155                    : "asc",
7156                e =
7157                  arguments.length > 1 && void 0 !== arguments[1]
7158                    ? arguments[1]
7159                    : [],
7160                i = this.w,
7161                a = 0;
7162              if (i.config.series.length > 1)
7163                for (
7164                  var s = i.config.series.map(function (t, a) {
7165                      return t.data &&
7166                        t.data.length > 0 &&
7167                        -1 === i.globals.collapsedSeriesIndices.indexOf(a) &&
7168                        (!i.globals.comboCharts ||
7169                          0 === e.length ||
7170                          (e.length && e.indexOf(i.config.series[a].type) > -1))
7171                        ? a
7172                        : -1;
7173                    }),
7174                    r = "asc" === t ? 0 : s.length - 1;
7175                  "asc" === t ? r < s.length : r >= 0;
7176                  "asc" === t ? r++ : r--
7177                )
7178                  if (-1 !== s[r]) {
7179                    a = s[r];
7180                    break;
7181                  }
7182              return a;
7183            },
7184          },
7185          {
7186            key: "getBarSeriesIndices",
7187            value: function () {
7188              return this.w.globals.comboCharts
7189                ? this.w.config.series
7190                    .map(function (t, e) {
7191                      return "bar" === t.type || "column" === t.type ? e : -1;
7192                    })
7193                    .filter(function (t) {
7194                      return -1 !== t;
7195                    })
7196                : this.w.config.series.map(function (t, e) {
7197                    return e;
7198                  });
7199            },
7200          },
7201          {
7202            key: "getPreviousPaths",
7203            value: function () {
7204              var t = this.w;
7205              function e(e, i, a) {
7206                for (
7207                  var s = e[i].childNodes,
7208                    r = {
7209                      type: a,
7210                      paths: [],
7211                      realIndex: e[i].getAttribute("data:realIndex"),
7212                    },
7213                    o = 0;
7214                  o < s.length;
7215                  o++
7216                )
7217                  if (s[o].hasAttribute("pathTo")) {
7218                    var n = s[o].getAttribute("pathTo");
7219                    r.paths.push({ d: n });
7220                  }
7221                t.globals.previousPaths.push(r);
7222              }
7223              t.globals.previousPaths = [];
7224              [
7225                "line",
7226                "area",
7227                "bar",
7228                "rangebar",
7229                "rangeArea",
7230                "candlestick",
7231                "radar",
7232              ].forEach(function (i) {
7233                for (
7234                  var a,
7235                    s =
7236                      ((a = i),
7237                      t.globals.dom.baseEl.querySelectorAll(
7238                        ".apexcharts-".concat(a, "-series .apexcharts-series")
7239                      )),
7240                    r = 0;
7241                  r < s.length;
7242                  r++
7243                )
7244                  e(s, r, i);
7245              }),
7246                this.handlePrevBubbleScatterPaths("bubble"),
7247                this.handlePrevBubbleScatterPaths("scatter");
7248              var i = t.globals.dom.baseEl.querySelectorAll(
7249                ".apexcharts-".concat(
7250                  t.config.chart.type,
7251                  " .apexcharts-series"
7252                )
7253              );
7254              if (i.length > 0)
7255                for (
7256                  var a = function (e) {
7257                      for (
7258                        var i = t.globals.dom.baseEl.querySelectorAll(
7259                            ".apexcharts-"
7260                              .concat(
7261                                t.config.chart.type,
7262                                " .apexcharts-series[data\\:realIndex='"
7263                              )
7264                              .concat(e, "'] rect")
7265                          ),
7266                          a = [],
7267                          s = function (t) {
7268                            var e = function (e) {
7269                                return i[t].getAttribute(e);
7270                              },
7271                              s = {
7272                                x: parseFloat(e("x")),
7273                                y: parseFloat(e("y")),
7274                                width: parseFloat(e("width")),
7275                                height: parseFloat(e("height")),
7276                              };
7277                            a.push({
7278                              rect: s,
7279                              color: i[t].getAttribute("color"),
7280                            });
7281                          },
7282                          r = 0;
7283                        r < i.length;
7284                        r++
7285                      )
7286                        s(r);
7287                      t.globals.previousPaths.push(a);
7288                    },
7289                    s = 0;
7290                  s < i.length;
7291                  s++
7292                )
7293                  a(s);
7294              t.globals.axisCharts ||
7295                (t.globals.previousPaths = t.globals.series);
7296            },
7297          },
7298          {
7299            key: "handlePrevBubbleScatterPaths",
7300            value: function (t) {
7301              var e = this.w,
7302                i = e.globals.dom.baseEl.querySelectorAll(
7303                  ".apexcharts-".concat(t, "-series .apexcharts-series")
7304                );
7305              if (i.length > 0)
7306                for (var a = 0; a < i.length; a++) {
7307                  for (
7308                    var s = e.globals.dom.baseEl.querySelectorAll(
7309                        ".apexcharts-"
7310                          .concat(
7311                            t,
7312                            "-series .apexcharts-series[data\\:realIndex='"
7313                          )
7314                          .concat(a, "'] circle")
7315                      ),
7316                      r = [],
7317                      o = 0;
7318                    o < s.length;
7319                    o++
7320                  )
7321                    r.push({
7322                      x: s[o].getAttribute("cx"),
7323                      y: s[o].getAttribute("cy"),
7324                      r: s[o].getAttribute("r"),
7325                    });
7326                  e.globals.previousPaths.push(r);
7327                }
7328            },
7329          },
7330          {
7331            key: "clearPreviousPaths",
7332            value: function () {
7333              var t = this.w;
7334              (t.globals.previousPaths = []),
7335                (t.globals.allSeriesCollapsed = !1);
7336            },
7337          },
7338          {
7339            key: "handleNoData",
7340            value: function () {
7341              var t = this.w,
7342                e = t.config.noData,
7343                i = new m(this.ctx),
7344                a = t.globals.svgWidth / 2,
7345                s = t.globals.svgHeight / 2,
7346                r = "middle";
7347              if (
7348                ((t.globals.noData = !0),
7349                (t.globals.animationEnded = !0),
7350                "left" === e.align
7351                  ? ((a = 10), (r = "start"))
7352                  : "right" === e.align &&
7353                    ((a = t.globals.svgWidth - 10), (r = "end")),
7354                "top" === e.verticalAlign
7355                  ? (s = 50)
7356                  : "bottom" === e.verticalAlign &&
7357                    (s = t.globals.svgHeight - 50),
7358                (a += e.offsetX),
7359                (s = s + parseInt(e.style.fontSize, 10) + 2 + e.offsetY),
7360                void 0 !== e.text && "" !== e.text)
7361              ) {
7362                var o = i.drawText({
7363                  x: a,
7364                  y: s,
7365                  text: e.text,
7366                  textAnchor: r,
7367                  fontSize: e.style.fontSize,
7368                  fontFamily: e.style.fontFamily,
7369                  foreColor: e.style.color,
7370                  opacity: 1,
7371                  class: "apexcharts-text-nodata",
7372                });
7373                t.globals.dom.Paper.add(o);
7374              }
7375            },
7376          },
7377          {
7378            key: "setNullSeriesToZeroValues",
7379            value: function (t) {
7380              for (var e = this.w, i = 0; i < t.length; i++)
7381                if (0 === t[i].length)
7382                  for (
7383                    var a = 0;
7384                    a < t[e.globals.maxValsInArrayIndex].length;
7385                    a++
7386                  )
7387                    t[i].push(0);
7388              return t;
7389            },
7390          },
7391          {
7392            key: "hasAllSeriesEqualX",
7393            value: function () {
7394              for (
7395                var t = !0, e = this.w, i = this.filteredSeriesX(), a = 0;
7396                a < i.length - 1;
7397                a++
7398              )
7399                if (i[a][0] !== i[a + 1][0]) {
7400                  t = !1;
7401                  break;
7402                }
7403              return (e.globals.allSeriesHasEqualX = t), t;
7404            },
7405          },
7406          {
7407            key: "filteredSeriesX",
7408            value: function () {
7409              var t = this.w.globals.seriesX.map(function (t) {
7410                return t.length > 0 ? t : [];
7411              });
7412              return t;
7413            },
7414          },
7415        ]),
7416        t
7417      );
7418    })(),
7419    W = (function () {
7420      function t(e) {
7421        a(this, t),
7422          (this.ctx = e),
7423          (this.w = e.w),
7424          (this.twoDSeries = []),
7425          (this.threeDSeries = []),
7426          (this.twoDSeriesX = []),
7427          (this.seriesGoals = []),
7428          (this.coreUtils = new y(this.ctx));
7429      }
7430      return (
7431        r(t, [
7432          {
7433            key: "isMultiFormat",
7434            value: function () {
7435              return this.isFormatXY() || this.isFormat2DArray();
7436            },
7437          },
7438          {
7439            key: "isFormatXY",
7440            value: function () {
7441              var t = this.w.config.series.slice(),
7442                e = new N(this.ctx);
7443              if (
7444                ((this.activeSeriesIndex = e.getActiveConfigSeriesIndex()),
7445                void 0 !== t[this.activeSeriesIndex].data &&
7446                  t[this.activeSeriesIndex].data.length > 0 &&
7447                  null !== t[this.activeSeriesIndex].data[0] &&
7448                  void 0 !== t[this.activeSeriesIndex].data[0].x &&
7449                  null !== t[this.activeSeriesIndex].data[0])
7450              )
7451                return !0;
7452            },
7453          },
7454          {
7455            key: "isFormat2DArray",
7456            value: function () {
7457              var t = this.w.config.series.slice(),
7458                e = new N(this.ctx);
7459              if (
7460                ((this.activeSeriesIndex = e.getActiveConfigSeriesIndex()),
7461                void 0 !== t[this.activeSeriesIndex].data &&
7462                  t[this.activeSeriesIndex].data.length > 0 &&
7463                  void 0 !== t[this.activeSeriesIndex].data[0] &&
7464                  null !== t[this.activeSeriesIndex].data[0] &&
7465                  t[this.activeSeriesIndex].data[0].constructor === Array)
7466              )
7467                return !0;
7468            },
7469          },
7470          {
7471            key: "handleFormat2DArray",
7472            value: function (t, e) {
7473              for (
7474                var i = this.w.config,
7475                  a = this.w.globals,
7476                  s =
7477                    "boxPlot" === i.chart.type ||
7478                    "boxPlot" === i.series[e].type,
7479                  r = 0;
7480                r < t[e].data.length;
7481                r++
7482              )
7483                if (
7484                  (void 0 !== t[e].data[r][1] &&
7485                    (Array.isArray(t[e].data[r][1]) &&
7486                    4 === t[e].data[r][1].length &&
7487                    !s
7488                      ? this.twoDSeries.push(x.parseNumber(t[e].data[r][1][3]))
7489                      : t[e].data[r].length >= 5
7490                      ? this.twoDSeries.push(x.parseNumber(t[e].data[r][4]))
7491                      : this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),
7492                    (a.dataFormatXNumeric = !0)),
7493                  "datetime" === i.xaxis.type)
7494                ) {
7495                  var o = new Date(t[e].data[r][0]);
7496                  (o = new Date(o).getTime()), this.twoDSeriesX.push(o);
7497                } else this.twoDSeriesX.push(t[e].data[r][0]);
7498              for (var n = 0; n < t[e].data.length; n++)
7499                void 0 !== t[e].data[n][2] &&
7500                  (this.threeDSeries.push(t[e].data[n][2]), (a.isDataXYZ = !0));
7501            },
7502          },
7503          {
7504            key: "handleFormatXY",
7505            value: function (t, e) {
7506              var i = this.w.config,
7507                a = this.w.globals,
7508                s = new I(this.ctx),
7509                r = e;
7510              a.collapsedSeriesIndices.indexOf(e) > -1 &&
7511                (r = this.activeSeriesIndex);
7512              for (var o = 0; o < t[e].data.length; o++)
7513                void 0 !== t[e].data[o].y &&
7514                  (Array.isArray(t[e].data[o].y)
7515                    ? this.twoDSeries.push(
7516                        x.parseNumber(t[e].data[o].y[t[e].data[o].y.length - 1])
7517                      )
7518                    : this.twoDSeries.push(x.parseNumber(t[e].data[o].y))),
7519                  void 0 !== t[e].data[o].goals &&
7520                  Array.isArray(t[e].data[o].goals)
7521                    ? (void 0 === this.seriesGoals[e] &&
7522                        (this.seriesGoals[e] = []),
7523                      this.seriesGoals[e].push(t[e].data[o].goals))
7524                    : (void 0 === this.seriesGoals[e] &&
7525                        (this.seriesGoals[e] = []),
7526                      this.seriesGoals[e].push(null));
7527              for (var n = 0; n < t[r].data.length; n++) {
7528                var l = "string" == typeof t[r].data[n].x,
7529                  h = Array.isArray(t[r].data[n].x),
7530                  c = !h && !!s.isValidDate(t[r].data[n].x);
7531                if (l || c)
7532                  if (l || i.xaxis.convertedCatToNumeric) {
7533                    var d = a.isBarHorizontal && a.isRangeData;
7534                    "datetime" !== i.xaxis.type || d
7535                      ? ((this.fallbackToCategory = !0),
7536                        this.twoDSeriesX.push(t[r].data[n].x),
7537                        isNaN(t[r].data[n].x) ||
7538                          "category" === this.w.config.xaxis.type ||
7539                          "string" == typeof t[r].data[n].x ||
7540                          (a.isXNumeric = !0))
7541                      : this.twoDSeriesX.push(s.parseDate(t[r].data[n].x));
7542                  } else
7543                    "datetime" === i.xaxis.type
7544                      ? this.twoDSeriesX.push(
7545                          s.parseDate(t[r].data[n].x.toString())
7546                        )
7547                      : ((a.dataFormatXNumeric = !0),
7548                        (a.isXNumeric = !0),
7549                        this.twoDSeriesX.push(parseFloat(t[r].data[n].x)));
7550                else
7551                  h
7552                    ? ((this.fallbackToCategory = !0),
7553                      this.twoDSeriesX.push(t[r].data[n].x))
7554                    : ((a.isXNumeric = !0),
7555                      (a.dataFormatXNumeric = !0),
7556                      this.twoDSeriesX.push(t[r].data[n].x));
7557              }
7558              if (t[e].data[0] && void 0 !== t[e].data[0].z) {
7559                for (var g = 0; g < t[e].data.length; g++)
7560                  this.threeDSeries.push(t[e].data[g].z);
7561                a.isDataXYZ = !0;
7562              }
7563            },
7564          },
7565          {
7566            key: "handleRangeData",
7567            value: function (t, e) {
7568              var i = this.w.globals,
7569                a = {};
7570              return (
7571                this.isFormat2DArray()
7572                  ? (a = this.handleRangeDataFormat("array", t, e))
7573                  : this.isFormatXY() &&
7574                    (a = this.handleRangeDataFormat("xy", t, e)),
7575                i.seriesRangeStart.push(a.start),
7576                i.seriesRangeEnd.push(a.end),
7577                i.seriesRange.push(a.rangeUniques),
7578                i.seriesRange.forEach(function (t, e) {
7579                  t &&
7580                    t.forEach(function (t, e) {
7581                      t.y.forEach(function (e, i) {
7582                        for (var a = 0; a < t.y.length; a++)
7583                          if (i !== a) {
7584                            var s = e.y1,
7585                              r = e.y2,
7586                              o = t.y[a].y1;
7587                            s <= t.y[a].y2 &&
7588                              o <= r &&
7589                              (t.overlaps.indexOf(e.rangeName) < 0 &&
7590                                t.overlaps.push(e.rangeName),
7591                              t.overlaps.indexOf(t.y[a].rangeName) < 0 &&
7592                                t.overlaps.push(t.y[a].rangeName));
7593                          }
7594                      });
7595                    });
7596                }),
7597                a
7598              );
7599            },
7600          },
7601          {
7602            key: "handleCandleStickBoxData",
7603            value: function (t, e) {
7604              var i = this.w.globals,
7605                a = {};
7606              return (
7607                this.isFormat2DArray()
7608                  ? (a = this.handleCandleStickBoxDataFormat("array", t, e))
7609                  : this.isFormatXY() &&
7610                    (a = this.handleCandleStickBoxDataFormat("xy", t, e)),
7611                (i.seriesCandleO[e] = a.o),
7612                (i.seriesCandleH[e] = a.h),
7613                (i.seriesCandleM[e] = a.m),
7614                (i.seriesCandleL[e] = a.l),
7615                (i.seriesCandleC[e] = a.c),
7616                a
7617              );
7618            },
7619          },
7620          {
7621            key: "handleRangeDataFormat",
7622            value: function (t, e, i) {
7623              var a = [],
7624                s = [],
7625                r = e[i].data
7626                  .filter(function (t, e, i) {
7627                    return (
7628                      e ===
7629                      i.findIndex(function (e) {
7630                        return e.x === t.x;
7631                      })
7632                    );
7633                  })
7634                  .map(function (t, e) {
7635                    return { x: t.x, overlaps: [], y: [] };
7636                  });
7637              if ("array" === t)
7638                for (var o = 0; o < e[i].data.length; o++)
7639                  Array.isArray(e[i].data[o])
7640                    ? (a.push(e[i].data[o][1][0]), s.push(e[i].data[o][1][1]))
7641                    : (a.push(e[i].data[o]), s.push(e[i].data[o]));
7642              else if ("xy" === t)
7643                for (
7644                  var n = function (t) {
7645                      var o = Array.isArray(e[i].data[t].y),
7646                        n = x.randomId(),
7647                        l = e[i].data[t].x,
7648                        h = {
7649                          y1: o ? e[i].data[t].y[0] : e[i].data[t].y,
7650                          y2: o ? e[i].data[t].y[1] : e[i].data[t].y,
7651                          rangeName: n,
7652                        };
7653                      e[i].data[t].rangeName = n;
7654                      var c = r.findIndex(function (t) {
7655                        return t.x === l;
7656                      });
7657                      r[c].y.push(h), a.push(h.y1), s.push(h.y2);
7658                    },
7659                    l = 0;
7660                  l < e[i].data.length;
7661                  l++
7662                )
7663                  n(l);
7664              return { start: a, end: s, rangeUniques: r };
7665            },
7666          },
7667          {
7668            key: "handleCandleStickBoxDataFormat",
7669            value: function (t, e, i) {
7670              var a = this.w,
7671                s =
7672                  "boxPlot" === a.config.chart.type ||
7673                  "boxPlot" === a.config.series[i].type,
7674                r = [],
7675                o = [],
7676                n = [],
7677                l = [],
7678                h = [];
7679              if ("array" === t)
7680                if (
7681                  (s && 6 === e[i].data[0].length) ||
7682                  (!s && 5 === e[i].data[0].length)
7683                )
7684                  for (var c = 0; c < e[i].data.length; c++)
7685                    r.push(e[i].data[c][1]),
7686                      o.push(e[i].data[c][2]),
7687                      s
7688                        ? (n.push(e[i].data[c][3]),
7689                          l.push(e[i].data[c][4]),
7690                          h.push(e[i].data[c][5]))
7691                        : (l.push(e[i].data[c][3]), h.push(e[i].data[c][4]));
7692                else
7693                  for (var d = 0; d < e[i].data.length; d++)
7694                    Array.isArray(e[i].data[d][1]) &&
7695                      (r.push(e[i].data[d][1][0]),
7696                      o.push(e[i].data[d][1][1]),
7697                      s
7698                        ? (n.push(e[i].data[d][1][2]),
7699                          l.push(e[i].data[d][1][3]),
7700                          h.push(e[i].data[d][1][4]))
7701                        : (l.push(e[i].data[d][1][2]),
7702                          h.push(e[i].data[d][1][3])));
7703              else if ("xy" === t)
7704                for (var g = 0; g < e[i].data.length; g++)
7705                  Array.isArray(e[i].data[g].y) &&
7706                    (r.push(e[i].data[g].y[0]),
7707                    o.push(e[i].data[g].y[1]),
7708                    s
7709                      ? (n.push(e[i].data[g].y[2]),
7710                        l.push(e[i].data[g].y[3]),
7711                        h.push(e[i].data[g].y[4]))
7712                      : (l.push(e[i].data[g].y[2]), h.push(e[i].data[g].y[3])));
7713              return { o: r, h: o, m: n, l: l, c: h };
7714            },
7715          },
7716          {
7717            key: "parseDataAxisCharts",
7718            value: function (t) {
7719              var e,
7720                i = this,
7721                a =
7722                  arguments.length > 1 && void 0 !== arguments[1]
7723                    ? arguments[1]
7724                    : this.ctx,
7725                s = this.w.config,
7726                r = this.w.globals,
7727                o = new I(a),
7728                n =
7729                  s.labels.length > 0
7730                    ? s.labels.slice()
7731                    : s.xaxis.categories.slice();
7732              if (
7733                ((r.isRangeBar =
7734                  "rangeBar" === s.chart.type && r.isBarHorizontal),
7735                (r.hasXaxisGroups =
7736                  "category" === s.xaxis.type &&
7737                  s.xaxis.group.groups.length > 0),
7738                r.hasXaxisGroups && (r.groups = s.xaxis.group.groups),
7739                (r.hasSeriesGroups =
7740                  null === (e = t[0]) || void 0 === e ? void 0 : e.group),
7741                r.hasSeriesGroups)
7742              ) {
7743                var l = [],
7744                  h = u(
7745                    new Set(
7746                      t.map(function (t) {
7747                        return t.group;
7748                      })
7749                    )
7750                  );
7751                t.forEach(function (t, e) {
7752                  var i = h.indexOf(t.group);
7753                  l[i] || (l[i] = []), l[i].push(t.name);
7754                }),
7755                  (r.seriesGroups = l);
7756              }
7757              for (
7758                var c = function () {
7759                    for (var t = 0; t < n.length; t++)
7760                      if ("string" == typeof n[t]) {
7761                        if (!o.isValidDate(n[t]))
7762                          throw new Error(
7763                            "You have provided invalid Date format. Please provide a valid JavaScript Date"
7764                          );
7765                        i.twoDSeriesX.push(o.parseDate(n[t]));
7766                      } else i.twoDSeriesX.push(n[t]);
7767                  },
7768                  d = 0;
7769                d < t.length;
7770                d++
7771              ) {
7772                if (
7773                  ((this.twoDSeries = []),
7774                  (this.twoDSeriesX = []),
7775                  (this.threeDSeries = []),
7776                  void 0 === t[d].data)
7777                )
7778                  return void console.error(
7779                    "It is a possibility that you may have not included 'data' property in series."
7780                  );
7781                if (
7782                  (("rangeBar" !== s.chart.type &&
7783                    "rangeArea" !== s.chart.type &&
7784                    "rangeBar" !== t[d].type &&
7785                    "rangeArea" !== t[d].type) ||
7786                    ((r.isRangeData = !0),
7787                    ("rangeBar" !== s.chart.type &&
7788                      "rangeArea" !== s.chart.type) ||
7789                      this.handleRangeData(t, d)),
7790                  this.isMultiFormat())
7791                )
7792                  this.isFormat2DArray()
7793                    ? this.handleFormat2DArray(t, d)
7794                    : this.isFormatXY() && this.handleFormatXY(t, d),
7795                    ("candlestick" !== s.chart.type &&
7796                      "candlestick" !== t[d].type &&
7797                      "boxPlot" !== s.chart.type &&
7798                      "boxPlot" !== t[d].type) ||
7799                      this.handleCandleStickBoxData(t, d),
7800                    r.series.push(this.twoDSeries),
7801                    r.labels.push(this.twoDSeriesX),
7802                    r.seriesX.push(this.twoDSeriesX),
7803                    (r.seriesGoals = this.seriesGoals),
7804                    d !== this.activeSeriesIndex ||
7805                      this.fallbackToCategory ||
7806                      (r.isXNumeric = !0);
7807                else {
7808                  "datetime" === s.xaxis.type
7809                    ? ((r.isXNumeric = !0),
7810                      c(),
7811                      r.seriesX.push(this.twoDSeriesX))
7812                    : "numeric" === s.xaxis.type &&
7813                      ((r.isXNumeric = !0),
7814                      n.length > 0 &&
7815                        ((this.twoDSeriesX = n),
7816                        r.seriesX.push(this.twoDSeriesX))),
7817                    r.labels.push(this.twoDSeriesX);
7818                  var g = t[d].data.map(function (t) {
7819                    return x.parseNumber(t);
7820                  });
7821                  r.series.push(g);
7822                }
7823                r.seriesZ.push(this.threeDSeries),
7824                  void 0 !== t[d].name
7825                    ? r.seriesNames.push(t[d].name)
7826                    : r.seriesNames.push("series-" + parseInt(d + 1, 10)),
7827                  void 0 !== t[d].color
7828                    ? r.seriesColors.push(t[d].color)
7829                    : r.seriesColors.push(void 0);
7830              }
7831              return this.w;
7832            },
7833          },
7834          {
7835            key: "parseDataNonAxisCharts",
7836            value: function (t) {
7837              var e = this.w.globals,
7838                i = this.w.config;
7839              (e.series = t.slice()), (e.seriesNames = i.labels.slice());
7840              for (var a = 0; a < e.series.length; a++)
7841                void 0 === e.seriesNames[a] &&
7842                  e.seriesNames.push("series-" + (a + 1));
7843              return this.w;
7844            },
7845          },
7846          {
7847            key: "handleExternalLabelsData",
7848            value: function (t) {
7849              var e = this.w.config,
7850                i = this.w.globals;
7851              if (e.xaxis.categories.length > 0) i.labels = e.xaxis.categories;
7852              else if (e.labels.length > 0) i.labels = e.labels.slice();
7853              else if (this.fallbackToCategory) {
7854                if (
7855                  ((i.labels = i.labels[0]),
7856                  i.seriesRange.length &&
7857                    (i.seriesRange.map(function (t) {
7858                      t.forEach(function (t) {
7859                        i.labels.indexOf(t.x) < 0 && t.x && i.labels.push(t.x);
7860                      });
7861                    }),
7862                    (i.labels = Array.from(
7863                      new Set(i.labels.map(JSON.stringify)),
7864                      JSON.parse
7865                    ))),
7866                  e.xaxis.convertedCatToNumeric)
7867                )
7868                  new X(e).convertCatToNumericXaxis(e, this.ctx, i.seriesX[0]),
7869                    this._generateExternalLabels(t);
7870              } else this._generateExternalLabels(t);
7871            },
7872          },
7873          {
7874            key: "_generateExternalLabels",
7875            value: function (t) {
7876              var e = this.w.globals,
7877                i = this.w.config,
7878                a = [];
7879              if (e.axisCharts) {
7880                if (e.series.length > 0)
7881                  if (this.isFormatXY())
7882                    for (
7883                      var s = i.series.map(function (t, e) {
7884                          return t.data.filter(function (t, e, i) {
7885                            return (
7886                              i.findIndex(function (e) {
7887                                return e.x === t.x;
7888                              }) === e
7889                            );
7890                          });
7891                        }),
7892                        r = s.reduce(function (t, e, i, a) {
7893                          return a[t].length > e.length ? t : i;
7894                        }, 0),
7895                        o = 0;
7896                      o < s[r].length;
7897                      o++
7898                    )
7899                      a.push(o + 1);
7900                  else
7901                    for (
7902                      var n = 0;
7903                      n < e.series[e.maxValsInArrayIndex].length;
7904                      n++
7905                    )
7906                      a.push(n + 1);
7907                e.seriesX = [];
7908                for (var l = 0; l < t.length; l++) e.seriesX.push(a);
7909                this.w.globals.isBarHorizontal || (e.isXNumeric = !0);
7910              }
7911              if (0 === a.length) {
7912                a = e.axisCharts
7913                  ? []
7914                  : e.series.map(function (t, e) {
7915                      return e + 1;
7916                    });
7917                for (var h = 0; h < t.length; h++) e.seriesX.push(a);
7918              }
7919              (e.labels = a),
7920                i.xaxis.convertedCatToNumeric &&
7921                  (e.categoryLabels = a.map(function (t) {
7922                    return i.xaxis.labels.formatter(t);
7923                  })),
7924                (e.noLabelsProvided = !0);
7925            },
7926          },
7927          {
7928            key: "parseData",
7929            value: function (t) {
7930              var e = this.w,
7931                i = e.config,
7932                a = e.globals;
7933              if (
7934                (this.excludeCollapsedSeriesInYAxis(),
7935                (this.fallbackToCategory = !1),
7936                this.ctx.core.resetGlobals(),
7937                this.ctx.core.isMultipleY(),
7938                a.axisCharts
7939                  ? (this.parseDataAxisCharts(t),
7940                    this.coreUtils.getLargestSeries())
7941                  : this.parseDataNonAxisCharts(t),
7942                i.chart.stacked)
7943              ) {
7944                var s = new N(this.ctx);
7945                a.series = s.setNullSeriesToZeroValues(a.series);
7946              }
7947              this.coreUtils.getSeriesTotals(),
7948                a.axisCharts &&
7949                  ((a.stackedSeriesTotals =
7950                    this.coreUtils.getStackedSeriesTotals()),
7951                  (a.stackedSeriesTotalsByGroups =
7952                    this.coreUtils.getStackedSeriesTotalsByGroups())),
7953                this.coreUtils.getPercentSeries(),
7954                a.dataFormatXNumeric ||
7955                  (a.isXNumeric &&
7956                    ("numeric" !== i.xaxis.type ||
7957                      0 !== i.labels.length ||
7958                      0 !== i.xaxis.categories.length)) ||
7959                  this.handleExternalLabelsData(t);
7960              for (
7961                var r = this.coreUtils.getCategoryLabels(a.labels), o = 0;
7962                o < r.length;
7963                o++
7964              )
7965                if (Array.isArray(r[o])) {
7966                  a.isMultiLineX = !0;
7967                  break;
7968                }
7969            },
7970          },
7971          {
7972            key: "excludeCollapsedSeriesInYAxis",
7973            value: function () {
7974              var t = this,
7975                e = this.w;
7976              e.globals.ignoreYAxisIndexes = e.globals.collapsedSeries.map(
7977                function (i, a) {
7978                  if (t.w.globals.isMultipleYAxis && !e.config.chart.stacked)
7979                    return i.index;
7980                }
7981              );
7982            },
7983          },
7984        ]),
7985        t
7986      );
7987    })(),
7988    B = (function () {
7989      function t(e) {
7990        a(this, t), (this.ctx = e), (this.w = e.w);
7991      }
7992      return (
7993        r(t, [
7994          {
7995            key: "getLabel",
7996            value: function (t, e, i, a) {
7997              var s =
7998                  arguments.length > 4 && void 0 !== arguments[4]
7999                    ? arguments[4]
8000                    : [],
8001                r =
8002                  arguments.length > 5 && void 0 !== arguments[5]
8003                    ? arguments[5]
8004                    : "12px",
8005                o =
8006                  !(arguments.length > 6 && void 0 !== arguments[6]) ||
8007                  arguments[6],
8008                n = this.w,
8009                l = void 0 === t[a] ? "" : t[a],
8010                h = l,
8011                c = n.globals.xLabelFormatter,
8012                d = n.config.xaxis.labels.formatter,
8013                g = !1,
8014                u = new M(this.ctx),
8015                p = l;
8016              o &&
8017                ((h = u.xLabelFormat(c, l, p, {
8018                  i: a,
8019                  dateFormatter: new I(this.ctx).formatDate,
8020                  w: n,
8021                })),
8022                void 0 !== d &&
8023                  (h = d(l, t[a], {
8024                    i: a,
8025                    dateFormatter: new I(this.ctx).formatDate,
8026                    w: n,
8027                  })));
8028              var f, x;
8029              e.length > 0
8030                ? ((f = e[a].unit),
8031                  (x = null),
8032                  e.forEach(function (t) {
8033                    "month" === t.unit
8034                      ? (x = "year")
8035                      : "day" === t.unit
8036                      ? (x = "month")
8037                      : "hour" === t.unit
8038                      ? (x = "day")
8039                      : "minute" === t.unit && (x = "hour");
8040                  }),
8041                  (g = x === f),
8042                  (i = e[a].position),
8043                  (h = e[a].value))
8044                : "datetime" === n.config.xaxis.type &&
8045                  void 0 === d &&
8046                  (h = ""),
8047                void 0 === h && (h = ""),
8048                (h = Array.isArray(h) ? h : h.toString());
8049              var b = new m(this.ctx),
8050                v = {};
8051              v =
8052                n.globals.rotateXLabels && o
8053                  ? b.getTextRects(
8054                      h,
8055                      parseInt(r, 10),
8056                      null,
8057                      "rotate(".concat(n.config.xaxis.labels.rotate, " 0 0)"),
8058                      !1
8059                    )
8060                  : b.getTextRects(h, parseInt(r, 10));
8061              var y =
8062                !n.config.xaxis.labels.showDuplicates && this.ctx.timeScale;
8063              return (
8064                !Array.isArray(h) &&
8065                  ("NaN" === String(h) || (s.indexOf(h) >= 0 && y)) &&
8066                  (h = ""),
8067                { x: i, text: h, textRect: v, isBold: g }
8068              );
8069            },
8070          },
8071          {
8072            key: "checkLabelBasedOnTickamount",
8073            value: function (t, e, i) {
8074              var a = this.w,
8075                s = a.config.xaxis.tickAmount;
8076              return (
8077                "dataPoints" === s &&
8078                  (s = Math.round(a.globals.gridWidth / 120)),
8079                s > i || t % Math.round(i / (s + 1)) == 0 || (e.text = ""),
8080                e
8081              );
8082            },
8083          },
8084          {
8085            key: "checkForOverflowingLabels",
8086            value: function (t, e, i, a, s) {
8087              var r = this.w;
8088              if (
8089                (0 === t && r.globals.skipFirstTimelinelabel && (e.text = ""),
8090                t === i - 1 && r.globals.skipLastTimelinelabel && (e.text = ""),
8091                r.config.xaxis.labels.hideOverlappingLabels && a.length > 0)
8092              ) {
8093                var o = s[s.length - 1];
8094                e.x <
8095                  o.textRect.width /
8096                    (r.globals.rotateXLabels
8097                      ? Math.abs(r.config.xaxis.labels.rotate) / 12
8098                      : 1.01) +
8099                    o.x && (e.text = "");
8100              }
8101              return e;
8102            },
8103          },
8104          {
8105            key: "checkForReversedLabels",
8106            value: function (t, e) {
8107              var i = this.w;
8108              return (
8109                i.config.yaxis[t] && i.config.yaxis[t].reversed && e.reverse(),
8110                e
8111              );
8112            },
8113          },
8114          {
8115            key: "isYAxisHidden",
8116            value: function (t) {
8117              var e = this.w,
8118                i = new y(this.ctx);
8119              return (
8120                !e.config.yaxis[t].show ||
8121                (!e.config.yaxis[t].showForNullSeries &&
8122                  i.isSeriesNull(t) &&
8123                  -1 === e.globals.collapsedSeriesIndices.indexOf(t))
8124              );
8125            },
8126          },
8127          {
8128            key: "getYAxisForeColor",
8129            value: function (t, e) {
8130              var i = this.w;
8131              return (
8132                Array.isArray(t) &&
8133                  i.globals.yAxisScale[e] &&
8134                  this.ctx.theme.pushExtraColors(
8135                    t,
8136                    i.globals.yAxisScale[e].result.length,
8137                    !1
8138                  ),
8139                t
8140              );
8141            },
8142          },
8143          {
8144            key: "drawYAxisTicks",
8145            value: function (t, e, i, a, s, r, o) {
8146              var n = this.w,
8147                l = new m(this.ctx),
8148                h = n.globals.translateY;
8149              if (a.show && e > 0) {
8150                !0 === n.config.yaxis[s].opposite && (t += a.width);
8151                for (var c = e; c >= 0; c--) {
8152                  var d = h + e / 10 + n.config.yaxis[s].labels.offsetY - 1;
8153                  n.globals.isBarHorizontal && (d = r * c),
8154                    "heatmap" === n.config.chart.type && (d += r / 2);
8155                  var g = l.drawLine(
8156                    t + i.offsetX - a.width + a.offsetX,
8157                    d + a.offsetY,
8158                    t + i.offsetX + a.offsetX,
8159                    d + a.offsetY,
8160                    a.color
8161                  );
8162                  o.add(g), (h += r);
8163                }
8164              }
8165            },
8166          },
8167        ]),
8168        t
8169      );
8170    })(),
8171    G = (function () {
8172      function t(e) {
8173        a(this, t), (this.ctx = e), (this.w = e.w);
8174      }
8175      return (
8176        r(t, [
8177          {
8178            key: "scaleSvgNode",
8179            value: function (t, e) {
8180              var i = parseFloat(t.getAttributeNS(null, "width")),
8181                a = parseFloat(t.getAttributeNS(null, "height"));
8182              t.setAttributeNS(null, "width", i * e),
8183                t.setAttributeNS(null, "height", a * e),
8184                t.setAttributeNS(null, "viewBox", "0 0 " + i + " " + a);
8185            },
8186          },
8187          {
8188            key: "fixSvgStringForIe11",
8189            value: function (t) {
8190              if (!x.isIE11()) return t.replace(/&nbsp;/g, "&#160;");
8191              var e = 0,
8192                i = t.replace(
8193                  /xmlns="http:\/\/www.w3.org\/2000\/svg"/g,
8194                  function (t) {
8195                    return 2 === ++e
8196                      ? 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"'
8197                      : t;
8198                  }
8199                );
8200              return (i = (i = i.replace(/xmlns:NS\d+=""/g, "")).replace(
8201                /NS\d+:(\w+:\w+=")/g,
8202                "$1"
8203              ));
8204            },
8205          },
8206          {
8207            key: "getSvgString",
8208            value: function (t) {
8209              null == t && (t = 1);
8210              var e = this.w.globals.dom.Paper.svg();
8211              if (1 !== t) {
8212                var i = this.w.globals.dom.Paper.node.cloneNode(!0);
8213                this.scaleSvgNode(i, t),
8214                  (e = new XMLSerializer().serializeToString(i));
8215              }
8216              return this.fixSvgStringForIe11(e);
8217            },
8218          },
8219          {
8220            key: "cleanup",
8221            value: function () {
8222              var t = this.w,
8223                e = t.globals.dom.baseEl.getElementsByClassName(
8224                  "apexcharts-xcrosshairs"
8225                ),
8226                i = t.globals.dom.baseEl.getElementsByClassName(
8227                  "apexcharts-ycrosshairs"
8228                ),
8229                a = t.globals.dom.baseEl.querySelectorAll(
8230                  ".apexcharts-zoom-rect, .apexcharts-selection-rect"
8231                );
8232              Array.prototype.forEach.call(a, function (t) {
8233                t.setAttribute("width", 0);
8234              }),
8235                e &&
8236                  e[0] &&
8237                  (e[0].setAttribute("x", -500),
8238                  e[0].setAttribute("x1", -500),
8239                  e[0].setAttribute("x2", -500)),
8240                i &&
8241                  i[0] &&
8242                  (i[0].setAttribute("y", -100),
8243                  i[0].setAttribute("y1", -100),
8244                  i[0].setAttribute("y2", -100));
8245            },
8246          },
8247          {
8248            key: "svgUrl",
8249            value: function () {
8250              this.cleanup();
8251              var t = this.getSvgString(),
8252                e = new Blob([t], { type: "image/svg+xml;charset=utf-8" });
8253              return URL.createObjectURL(e);
8254            },
8255          },
8256          {
8257            key: "dataURI",
8258            value: function (t) {
8259              var e = this;
8260              return new Promise(function (i) {
8261                var a = e.w,
8262                  s = t ? t.scale || t.width / a.globals.svgWidth : 1;
8263                e.cleanup();
8264                var r = document.createElement("canvas");
8265                (r.width = a.globals.svgWidth * s),
8266                  (r.height =
8267                    parseInt(a.globals.dom.elWrap.style.height, 10) * s);
8268                var o =
8269                    "transparent" === a.config.chart.background
8270                      ? "#fff"
8271                      : a.config.chart.background,
8272                  n = r.getContext("2d");
8273                (n.fillStyle = o), n.fillRect(0, 0, r.width * s, r.height * s);
8274                var l = e.getSvgString(s);
8275                if (window.canvg && x.isIE11()) {
8276                  var h = window.canvg.Canvg.fromString(n, l, {
8277                    ignoreClear: !0,
8278                    ignoreDimensions: !0,
8279                  });
8280                  h.start();
8281                  var c = r.msToBlob();
8282                  h.stop(), i({ blob: c });
8283                } else {
8284                  var d = "data:image/svg+xml," + encodeURIComponent(l),
8285                    g = new Image();
8286                  (g.crossOrigin = "anonymous"),
8287                    (g.onload = function () {
8288                      if ((n.drawImage(g, 0, 0), r.msToBlob)) {
8289                        var t = r.msToBlob();
8290                        i({ blob: t });
8291                      } else {
8292                        var e = r.toDataURL("image/png");
8293                        i({ imgURI: e });
8294                      }
8295                    }),
8296                    (g.src = d);
8297                }
8298              });
8299            },
8300          },
8301          {
8302            key: "exportToSVG",
8303            value: function () {
8304              this.triggerDownload(
8305                this.svgUrl(),
8306                this.w.config.chart.toolbar.export.svg.filename,
8307                ".svg"
8308              );
8309            },
8310          },
8311          {
8312            key: "exportToPng",
8313            value: function () {
8314              var t = this;
8315              this.dataURI().then(function (e) {
8316                var i = e.imgURI,
8317                  a = e.blob;
8318                a
8319                  ? navigator.msSaveOrOpenBlob(a, t.w.globals.chartID + ".png")
8320                  : t.triggerDownload(
8321                      i,
8322                      t.w.config.chart.toolbar.export.png.filename,
8323                      ".png"
8324                    );
8325              });
8326            },
8327          },
8328          {
8329            key: "exportToCSV",
8330            value: function (t) {
8331              var e = this,
8332                i = t.series,
8333                a = t.fileName,
8334                s = t.columnDelimiter,
8335                r = void 0 === s ? "," : s,
8336                o = t.lineDelimiter,
8337                n = void 0 === o ? "\n" : o,
8338                l = this.w;
8339              i || (i = l.config.series);
8340              var h,
8341                c,
8342                d = [],
8343                g = [],
8344                p = "",
8345                f = l.globals.series.map(function (t, e) {
8346                  return -1 === l.globals.collapsedSeriesIndices.indexOf(e)
8347                    ? t
8348                    : [];
8349                }),
8350                b = function (t) {
8351                  return (
8352                    "datetime" === l.config.xaxis.type && String(t).length >= 10
8353                  );
8354                },
8355                v = Math.max.apply(
8356                  Math,
8357                  u(
8358                    i.map(function (t) {
8359                      return t.data ? t.data.length : 0;
8360                    })
8361                  )
8362                ),
8363                m = new W(this.ctx),
8364                y = new B(this.ctx),
8365                w = function (t) {
8366                  var i = "";
8367                  if (l.globals.axisCharts) {
8368                    if (
8369                      "category" === l.config.xaxis.type ||
8370                      l.config.xaxis.convertedCatToNumeric
8371                    )
8372                      if (l.globals.isBarHorizontal) {
8373                        var a = l.globals.yLabelFormatters[0],
8374                          s = new N(e.ctx).getActiveConfigSeriesIndex();
8375                        i = a(l.globals.labels[t], {
8376                          seriesIndex: s,
8377                          dataPointIndex: t,
8378                          w: l,
8379                        });
8380                      } else
8381                        i = y.getLabel(
8382                          l.globals.labels,
8383                          l.globals.timescaleLabels,
8384                          0,
8385                          t
8386                        ).text;
8387                    "datetime" === l.config.xaxis.type &&
8388                      (l.config.xaxis.categories.length
8389                        ? (i = l.config.xaxis.categories[t])
8390                        : l.config.labels.length && (i = l.config.labels[t]));
8391                  } else i = l.config.labels[t];
8392                  return (
8393                    Array.isArray(i) && (i = i.join(" ")),
8394                    x.isNumber(i) ? i : i.split(r).join("")
8395                  );
8396                },
8397                k = function (t, e) {
8398                  if ((d.length && 0 === e && g.push(d.join(r)), t.data)) {
8399                    t.data =
8400                      (t.data.length && t.data) ||
8401                      u(Array(v)).map(function () {
8402                        return "";
8403                      });
8404                    for (var a = 0; a < t.data.length; a++) {
8405                      d = [];
8406                      var s = w(a);
8407                      if (
8408                        (s ||
8409                          (m.isFormatXY()
8410                            ? (s = i[e].data[a].x)
8411                            : m.isFormat2DArray() &&
8412                              (s = i[e].data[a] ? i[e].data[a][0] : "")),
8413                        0 === e)
8414                      ) {
8415                        d.push(
8416                          b(s)
8417                            ? l.config.chart.toolbar.export.csv.dateFormatter(s)
8418                            : x.isNumber(s)
8419                            ? s
8420                            : s.split(r).join("")
8421                        );
8422                        for (var o = 0; o < l.globals.series.length; o++) {
8423                          var n;
8424                          if (m.isFormatXY())
8425                            d.push(
8426                              null === (n = i[o].data[a]) || void 0 === n
8427                                ? void 0
8428                                : n.y
8429                            );
8430                          else d.push(f[o][a]);
8431                        }
8432                      }
8433                      ("candlestick" === l.config.chart.type ||
8434                        (t.type && "candlestick" === t.type)) &&
8435                        (d.pop(),
8436                        d.push(l.globals.seriesCandleO[e][a]),
8437                        d.push(l.globals.seriesCandleH[e][a]),
8438                        d.push(l.globals.seriesCandleL[e][a]),
8439                        d.push(l.globals.seriesCandleC[e][a])),
8440                        ("boxPlot" === l.config.chart.type ||
8441                          (t.type && "boxPlot" === t.type)) &&
8442                          (d.pop(),
8443                          d.push(l.globals.seriesCandleO[e][a]),
8444                          d.push(l.globals.seriesCandleH[e][a]),
8445                          d.push(l.globals.seriesCandleM[e][a]),
8446                          d.push(l.globals.seriesCandleL[e][a]),
8447                          d.push(l.globals.seriesCandleC[e][a])),
8448                        "rangeBar" === l.config.chart.type &&
8449                          (d.pop(),
8450                          d.push(l.globals.seriesRangeStart[e][a]),
8451                          d.push(l.globals.seriesRangeEnd[e][a])),
8452                        d.length && g.push(d.join(r));
8453                    }
8454                  }
8455                };
8456              d.push(l.config.chart.toolbar.export.csv.headerCategory),
8457                "boxPlot" === l.config.chart.type
8458                  ? (d.push("minimum"),
8459                    d.push("q1"),
8460                    d.push("median"),
8461                    d.push("q3"),
8462                    d.push("maximum"))
8463                  : "candlestick" === l.config.chart.type
8464                  ? (d.push("open"),
8465                    d.push("high"),
8466                    d.push("low"),
8467                    d.push("close"))
8468                  : "rangeBar" === l.config.chart.type
8469                  ? (d.push("minimum"), d.push("maximum"))
8470                  : i.map(function (t, e) {
8471                      var i = (t.name ? t.name : "series-".concat(e)) + "";
8472                      l.globals.axisCharts &&
8473                        d.push(
8474                          i.split(r).join("")
8475                            ? i.split(r).join("")
8476                            : "series-".concat(e)
8477                        );
8478                    }),
8479                l.globals.axisCharts ||
8480                  (d.push(l.config.chart.toolbar.export.csv.headerValue),
8481                  g.push(d.join(r))),
8482                l.globals.allSeriesHasEqualX ||
8483                !l.globals.axisCharts ||
8484                l.config.xaxis.categories.length ||
8485                l.config.labels.length
8486                  ? i.map(function (t, e) {
8487                      l.globals.axisCharts
8488                        ? k(t, e)
8489                        : ((d = []).push(l.globals.labels[e].split(r).join("")),
8490                          d.push(f[e]),
8491                          g.push(d.join(r)));
8492                    })
8493                  : ((h = new Set()),
8494                    (c = {}),
8495                    i.forEach(function (t, e) {
8496                      null == t ||
8497                        t.data.forEach(function (t) {
8498                          var a, s;
8499                          if (m.isFormatXY()) (a = t.x), (s = t.y);
8500                          else {
8501                            if (!m.isFormat2DArray()) return;
8502                            (a = t[0]), (s = t[1]);
8503                          }
8504                          c[a] || (c[a] = Array(i.length).fill("")),
8505                            (c[a][e] = s),
8506                            h.add(a);
8507                        });
8508                    }),
8509                    d.length && g.push(d.join(r)),
8510                    Array.from(h)
8511                      .sort()
8512                      .forEach(function (t) {
8513                        g.push([
8514                          b(t) && "datetime" === l.config.xaxis.type
8515                            ? l.config.chart.toolbar.export.csv.dateFormatter(t)
8516                            : x.isNumber(t)
8517                            ? t
8518                            : t.split(r).join(""),
8519                          c[t].join(r),
8520                        ]);
8521                      })),
8522                (p += g.join(n)),
8523                this.triggerDownload(
8524                  "data:text/csv; charset=utf-8," +
8525                    encodeURIComponent("\ufeff" + p),
8526                  a || l.config.chart.toolbar.export.csv.filename,
8527                  ".csv"
8528                );
8529            },
8530          },
8531          {
8532            key: "triggerDownload",
8533            value: function (t, e, i) {
8534              var a = document.createElement("a");
8535              (a.href = t),
8536                (a.download = (e || this.w.globals.chartID) + i),
8537                document.body.appendChild(a),
8538                a.click(),
8539                document.body.removeChild(a);
8540            },
8541          },
8542        ]),
8543        t
8544      );
8545    })(),
8546    V = (function () {
8547      function t(e, i) {
8548        a(this, t), (this.ctx = e), (this.elgrid = i), (this.w = e.w);
8549        var s = this.w;
8550        (this.axesUtils = new B(e)),
8551          (this.xaxisLabels = s.globals.labels.slice()),
8552          s.globals.timescaleLabels.length > 0 &&
8553            !s.globals.isBarHorizontal &&
8554            (this.xaxisLabels = s.globals.timescaleLabels.slice()),
8555          s.config.xaxis.overwriteCategories &&
8556            (this.xaxisLabels = s.config.xaxis.overwriteCategories),
8557          (this.drawnLabels = []),
8558          (this.drawnLabelsRects = []),
8559          "top" === s.config.xaxis.position
8560            ? (this.offY = 0)
8561            : (this.offY = s.globals.gridHeight + 1),
8562          (this.offY = this.offY + s.config.xaxis.axisBorder.offsetY),
8563          (this.isCategoryBarHorizontal =
8564            "bar" === s.config.chart.type &&
8565            s.config.plotOptions.bar.horizontal),
8566          (this.xaxisFontSize = s.config.xaxis.labels.style.fontSize),
8567          (this.xaxisFontFamily = s.config.xaxis.labels.style.fontFamily),
8568          (this.xaxisForeColors = s.config.xaxis.labels.style.colors),
8569          (this.xaxisBorderWidth = s.config.xaxis.axisBorder.width),
8570          this.isCategoryBarHorizontal &&
8571            (this.xaxisBorderWidth =
8572              s.config.yaxis[0].axisBorder.width.toString()),
8573          this.xaxisBorderWidth.indexOf("%") > -1
8574            ? (this.xaxisBorderWidth =
8575                (s.globals.gridWidth * parseInt(this.xaxisBorderWidth, 10)) /
8576                100)
8577            : (this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10)),
8578          (this.xaxisBorderHeight = s.config.xaxis.axisBorder.height),
8579          (this.yaxis = s.config.yaxis[0]);
8580      }
8581      return (
8582        r(t, [
8583          {
8584            key: "drawXaxis",
8585            value: function () {
8586              var t = this.w,
8587                e = new m(this.ctx),
8588                i = e.group({
8589                  class: "apexcharts-xaxis",
8590                  transform: "translate("
8591                    .concat(t.config.xaxis.offsetX, ", ")
8592                    .concat(t.config.xaxis.offsetY, ")"),
8593                }),
8594                a = e.group({
8595                  class: "apexcharts-xaxis-texts-g",
8596                  transform: "translate("
8597                    .concat(t.globals.translateXAxisX, ", ")
8598                    .concat(t.globals.translateXAxisY, ")"),
8599                });
8600              i.add(a);
8601              for (var s = [], r = 0; r < this.xaxisLabels.length; r++)
8602                s.push(this.xaxisLabels[r]);
8603              if (
8604                (this.drawXAxisLabelAndGroup(
8605                  !0,
8606                  e,
8607                  a,
8608                  s,
8609                  t.globals.isXNumeric,
8610                  function (t, e) {
8611                    return e;
8612                  }
8613                ),
8614                t.globals.hasXaxisGroups)
8615              ) {
8616                var o = t.globals.groups;
8617                s = [];
8618                for (var n = 0; n < o.length; n++) s.push(o[n].title);
8619                var l = {};
8620                t.config.xaxis.group.style &&
8621                  ((l.xaxisFontSize = t.config.xaxis.group.style.fontSize),
8622                  (l.xaxisFontFamily = t.config.xaxis.group.style.fontFamily),
8623                  (l.xaxisForeColors = t.config.xaxis.group.style.colors),
8624                  (l.fontWeight = t.config.xaxis.group.style.fontWeight),
8625                  (l.cssClass = t.config.xaxis.group.style.cssClass)),
8626                  this.drawXAxisLabelAndGroup(
8627                    !1,
8628                    e,
8629                    a,
8630                    s,
8631                    !1,
8632                    function (t, e) {
8633                      return o[t].cols * e;
8634                    },
8635                    l
8636                  );
8637              }
8638              if (void 0 !== t.config.xaxis.title.text) {
8639                var h = e.group({ class: "apexcharts-xaxis-title" }),
8640                  c = e.drawText({
8641                    x: t.globals.gridWidth / 2 + t.config.xaxis.title.offsetX,
8642                    y:
8643                      this.offY +
8644                      parseFloat(this.xaxisFontSize) +
8645                      ("bottom" === t.config.xaxis.position
8646                        ? t.globals.xAxisLabelsHeight
8647                        : -t.globals.xAxisLabelsHeight - 10) +
8648                      t.config.xaxis.title.offsetY,
8649                    text: t.config.xaxis.title.text,
8650                    textAnchor: "middle",
8651                    fontSize: t.config.xaxis.title.style.fontSize,
8652                    fontFamily: t.config.xaxis.title.style.fontFamily,
8653                    fontWeight: t.config.xaxis.title.style.fontWeight,
8654                    foreColor: t.config.xaxis.title.style.color,
8655                    cssClass:
8656                      "apexcharts-xaxis-title-text " +
8657                      t.config.xaxis.title.style.cssClass,
8658                  });
8659                h.add(c), i.add(h);
8660              }
8661              if (t.config.xaxis.axisBorder.show) {
8662                var d = t.globals.barPadForNumericAxis,
8663                  g = e.drawLine(
8664                    t.globals.padHorizontal +
8665                      t.config.xaxis.axisBorder.offsetX -
8666                      d,
8667                    this.offY,
8668                    this.xaxisBorderWidth + d,
8669                    this.offY,
8670                    t.config.xaxis.axisBorder.color,
8671                    0,
8672                    this.xaxisBorderHeight
8673                  );
8674                this.elgrid && this.elgrid.elGridBorders && t.config.grid.show
8675                  ? this.elgrid.elGridBorders.add(g)
8676                  : i.add(g);
8677              }
8678              return i;
8679            },
8680          },
8681          {
8682            key: "drawXAxisLabelAndGroup",
8683            value: function (t, e, i, a, s, r) {
8684              var o,
8685                n = this,
8686                l =
8687                  arguments.length > 6 && void 0 !== arguments[6]
8688                    ? arguments[6]
8689                    : {},
8690                h = [],
8691                c = [],
8692                d = this.w,
8693                g = l.xaxisFontSize || this.xaxisFontSize,
8694                u = l.xaxisFontFamily || this.xaxisFontFamily,
8695                p = l.xaxisForeColors || this.xaxisForeColors,
8696                f = l.fontWeight || d.config.xaxis.labels.style.fontWeight,
8697                x = l.cssClass || d.config.xaxis.labels.style.cssClass,
8698                b = d.globals.padHorizontal,
8699                v = a.length,
8700                m =
8701                  "category" === d.config.xaxis.type ? d.globals.dataPoints : v;
8702              if ((0 === m && v > m && (m = v), s)) {
8703                var y = m > 1 ? m - 1 : m;
8704                (o = d.globals.gridWidth / Math.min(y, v - 1)),
8705                  (b = b + r(0, o) / 2 + d.config.xaxis.labels.offsetX);
8706              } else
8707                (o = d.globals.gridWidth / m),
8708                  (b = b + r(0, o) + d.config.xaxis.labels.offsetX);
8709              for (
8710                var w = function (s) {
8711                    var l = b - r(s, o) / 2 + d.config.xaxis.labels.offsetX;
8712                    0 === s &&
8713                      1 === v &&
8714                      o / 2 === b &&
8715                      1 === m &&
8716                      (l = d.globals.gridWidth / 2);
8717                    var y = n.axesUtils.getLabel(
8718                        a,
8719                        d.globals.timescaleLabels,
8720                        l,
8721                        s,
8722                        h,
8723                        g,
8724                        t
8725                      ),
8726                      w = 28;
8727                    d.globals.rotateXLabels && t && (w = 22),
8728                      d.config.xaxis.title.text &&
8729                        "top" === d.config.xaxis.position &&
8730                        (w +=
8731                          parseFloat(d.config.xaxis.title.style.fontSize) + 2),
8732                      t ||
8733                        (w =
8734                          w +
8735                          parseFloat(g) +
8736                          (d.globals.xAxisLabelsHeight -
8737                            d.globals.xAxisGroupLabelsHeight) +
8738                          (d.globals.rotateXLabels ? 10 : 0)),
8739                      (y =
8740                        void 0 !== d.config.xaxis.tickAmount &&
8741                        "dataPoints" !== d.config.xaxis.tickAmount &&
8742                        "datetime" !== d.config.xaxis.type
8743                          ? n.axesUtils.checkLabelBasedOnTickamount(s, y, v)
8744                          : n.axesUtils.checkForOverflowingLabels(
8745                              s,
8746                              y,
8747                              v,
8748                              h,
8749                              c
8750                            ));
8751                    if (d.config.xaxis.labels.show) {
8752                      var k = e.drawText({
8753                        x: y.x,
8754                        y:
8755                          n.offY +
8756                          d.config.xaxis.labels.offsetY +
8757                          w -
8758                          ("top" === d.config.xaxis.position
8759                            ? d.globals.xAxisHeight +
8760                              d.config.xaxis.axisTicks.height -
8761                              2
8762                            : 0),
8763                        text: y.text,
8764                        textAnchor: "middle",
8765                        fontWeight: y.isBold ? 600 : f,
8766                        fontSize: g,
8767                        fontFamily: u,
8768                        foreColor: Array.isArray(p)
8769                          ? t && d.config.xaxis.convertedCatToNumeric
8770                            ? p[d.globals.minX + s - 1]
8771                            : p[s]
8772                          : p,
8773                        isPlainText: !1,
8774                        cssClass:
8775                          (t
8776                            ? "apexcharts-xaxis-label "
8777                            : "apexcharts-xaxis-group-label ") + x,
8778                      });
8779                      if (
8780                        (i.add(k),
8781                        k.on("click", function (t) {
8782                          if (
8783                            "function" ==
8784                            typeof d.config.chart.events.xAxisLabelClick
8785                          ) {
8786                            var e = Object.assign({}, d, { labelIndex: s });
8787                            d.config.chart.events.xAxisLabelClick(t, n.ctx, e);
8788                          }
8789                        }),
8790                        t)
8791                      ) {
8792                        var A = document.createElementNS(
8793                          d.globals.SVGNS,
8794                          "title"
8795                        );
8796                        (A.textContent = Array.isArray(y.text)
8797                          ? y.text.join(" ")
8798                          : y.text),
8799                          k.node.appendChild(A),
8800                          "" !== y.text && (h.push(y.text), c.push(y));
8801                      }
8802                    }
8803                    s < v - 1 && (b += r(s + 1, o));
8804                  },
8805                  k = 0;
8806                k <= v - 1;
8807                k++
8808              )
8809                w(k);
8810            },
8811          },
8812          {
8813            key: "drawXaxisInversed",
8814            value: function (t) {
8815              var e,
8816                i,
8817                a = this,
8818                s = this.w,
8819                r = new m(this.ctx),
8820                o = s.config.yaxis[0].opposite
8821                  ? s.globals.translateYAxisX[t]
8822                  : 0,
8823                n = r.group({
8824                  class: "apexcharts-yaxis apexcharts-xaxis-inversed",
8825                  rel: t,
8826                }),
8827                l = r.group({
8828                  class:
8829                    "apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",
8830                  transform: "translate(" + o + ", 0)",
8831                });
8832              n.add(l);
8833              var h = [];
8834              if (s.config.yaxis[t].show)
8835                for (var c = 0; c < this.xaxisLabels.length; c++)
8836                  h.push(this.xaxisLabels[c]);
8837              (e = s.globals.gridHeight / h.length), (i = -e / 2.2);
8838              var d = s.globals.yLabelFormatters[0],
8839                g = s.config.yaxis[0].labels;
8840              if (g.show)
8841                for (
8842                  var u = function (o) {
8843                      var n = void 0 === h[o] ? "" : h[o];
8844                      n = d(n, { seriesIndex: t, dataPointIndex: o, w: s });
8845                      var c = a.axesUtils.getYAxisForeColor(g.style.colors, t),
8846                        u = 0;
8847                      Array.isArray(n) &&
8848                        (u = (n.length / 2) * parseInt(g.style.fontSize, 10));
8849                      var p = g.offsetX - 15,
8850                        f = "end";
8851                      a.yaxis.opposite && (f = "start"),
8852                        "left" === s.config.yaxis[0].labels.align
8853                          ? ((p = g.offsetX), (f = "start"))
8854                          : "center" === s.config.yaxis[0].labels.align
8855                          ? ((p = g.offsetX), (f = "middle"))
8856                          : "right" === s.config.yaxis[0].labels.align &&
8857                            (f = "end");
8858                      var x = r.drawText({
8859                        x: p,
8860                        y: i + e + g.offsetY - u,
8861                        text: n,
8862                        textAnchor: f,
8863                        foreColor: Array.isArray(c) ? c[o] : c,
8864                        fontSize: g.style.fontSize,
8865                        fontFamily: g.style.fontFamily,
8866                        fontWeight: g.style.fontWeight,
8867                        isPlainText: !1,
8868                        cssClass: "apexcharts-yaxis-label " + g.style.cssClass,
8869                        maxWidth: g.maxWidth,
8870                      });
8871                      l.add(x),
8872                        x.on("click", function (t) {
8873                          if (
8874                            "function" ==
8875                            typeof s.config.chart.events.xAxisLabelClick
8876                          ) {
8877                            var e = Object.assign({}, s, { labelIndex: o });
8878                            s.config.chart.events.xAxisLabelClick(t, a.ctx, e);
8879                          }
8880                        });
8881                      var b = document.createElementNS(
8882                        s.globals.SVGNS,
8883                        "title"
8884                      );
8885                      if (
8886                        ((b.textContent = Array.isArray(n) ? n.join(" ") : n),
8887                        x.node.appendChild(b),
8888                        0 !== s.config.yaxis[t].labels.rotate)
8889                      ) {
8890                        var v = r.rotateAroundCenter(x.node);
8891                        x.node.setAttribute(
8892                          "transform",
8893                          "rotate("
8894                            .concat(s.config.yaxis[t].labels.rotate, " 0 ")
8895                            .concat(v.y, ")")
8896                        );
8897                      }
8898                      i += e;
8899                    },
8900                    p = 0;
8901                  p <= h.length - 1;
8902                  p++
8903                )
8904                  u(p);
8905              if (void 0 !== s.config.yaxis[0].title.text) {
8906                var f = r.group({
8907                    class:
8908                      "apexcharts-yaxis-title apexcharts-xaxis-title-inversed",
8909                    transform: "translate(" + o + ", 0)",
8910                  }),
8911                  x = r.drawText({
8912                    x: s.config.yaxis[0].title.offsetX,
8913                    y:
8914                      s.globals.gridHeight / 2 +
8915                      s.config.yaxis[0].title.offsetY,
8916                    text: s.config.yaxis[0].title.text,
8917                    textAnchor: "middle",
8918                    foreColor: s.config.yaxis[0].title.style.color,
8919                    fontSize: s.config.yaxis[0].title.style.fontSize,
8920                    fontWeight: s.config.yaxis[0].title.style.fontWeight,
8921                    fontFamily: s.config.yaxis[0].title.style.fontFamily,
8922                    cssClass:
8923                      "apexcharts-yaxis-title-text " +
8924                      s.config.yaxis[0].title.style.cssClass,
8925                  });
8926                f.add(x), n.add(f);
8927              }
8928              var b = 0;
8929              this.isCategoryBarHorizontal &&
8930                s.config.yaxis[0].opposite &&
8931                (b = s.globals.gridWidth);
8932              var v = s.config.xaxis.axisBorder;
8933              if (v.show) {
8934                var y = r.drawLine(
8935                  s.globals.padHorizontal + v.offsetX + b,
8936                  1 + v.offsetY,
8937                  s.globals.padHorizontal + v.offsetX + b,
8938                  s.globals.gridHeight + v.offsetY,
8939                  v.color,
8940                  0
8941                );
8942                this.elgrid && this.elgrid.elGridBorders && s.config.grid.show
8943                  ? this.elgrid.elGridBorders.add(y)
8944                  : n.add(y);
8945              }
8946              return (
8947                s.config.yaxis[0].axisTicks.show &&
8948                  this.axesUtils.drawYAxisTicks(
8949                    b,
8950                    h.length,
8951                    s.config.yaxis[0].axisBorder,
8952                    s.config.yaxis[0].axisTicks,
8953                    0,
8954                    e,
8955                    n
8956                  ),
8957                n
8958              );
8959            },
8960          },
8961          {
8962            key: "drawXaxisTicks",
8963            value: function (t, e, i) {
8964              var a = this.w,
8965                s = t;
8966              if (!(t < 0 || t - 2 > a.globals.gridWidth)) {
8967                var r = this.offY + a.config.xaxis.axisTicks.offsetY;
8968                if (
8969                  ((e = e + r + a.config.xaxis.axisTicks.height),
8970                  "top" === a.config.xaxis.position &&
8971                    (e = r - a.config.xaxis.axisTicks.height),
8972                  a.config.xaxis.axisTicks.show)
8973                ) {
8974                  var o = new m(this.ctx).drawLine(
8975                    t + a.config.xaxis.axisTicks.offsetX,
8976                    r + a.config.xaxis.offsetY,
8977                    s + a.config.xaxis.axisTicks.offsetX,
8978                    e + a.config.xaxis.offsetY,
8979                    a.config.xaxis.axisTicks.color
8980                  );
8981                  i.add(o), o.node.classList.add("apexcharts-xaxis-tick");
8982                }
8983              }
8984            },
8985          },
8986          {
8987            key: "getXAxisTicksPositions",
8988            value: function () {
8989              var t = this.w,
8990                e = [],
8991                i = this.xaxisLabels.length,
8992                a = t.globals.padHorizontal;
8993              if (t.globals.timescaleLabels.length > 0)
8994                for (var s = 0; s < i; s++)
8995                  (a = this.xaxisLabels[s].position), e.push(a);
8996              else
8997                for (var r = i, o = 0; o < r; o++) {
8998                  var n = r;
8999                  t.globals.isXNumeric &&
9000                    "bar" !== t.config.chart.type &&
9001                    (n -= 1),
9002                    (a += t.globals.gridWidth / n),
9003                    e.push(a);
9004                }
9005              return e;
9006            },
9007          },
9008          {
9009            key: "xAxisLabelCorrections",
9010            value: function () {
9011              var t = this.w,
9012                e = new m(this.ctx),
9013                i = t.globals.dom.baseEl.querySelector(
9014                  ".apexcharts-xaxis-texts-g"
9015                ),
9016                a = t.globals.dom.baseEl.querySelectorAll(
9017                  ".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"
9018                ),
9019                s = t.globals.dom.baseEl.querySelectorAll(
9020                  ".apexcharts-yaxis-inversed text"
9021                ),
9022                r = t.globals.dom.baseEl.querySelectorAll(
9023                  ".apexcharts-xaxis-inversed-texts-g text tspan"
9024                );
9025              if (t.globals.rotateXLabels || t.config.xaxis.labels.rotateAlways)
9026                for (var o = 0; o < a.length; o++) {
9027                  var n = e.rotateAroundCenter(a[o]);
9028                  (n.y = n.y - 1),
9029                    (n.x = n.x + 1),
9030                    a[o].setAttribute(
9031                      "transform",
9032                      "rotate("
9033                        .concat(t.config.xaxis.labels.rotate, " ")
9034                        .concat(n.x, " ")
9035                        .concat(n.y, ")")
9036                    ),
9037                    a[o].setAttribute("text-anchor", "end");
9038                  i.setAttribute("transform", "translate(0, ".concat(-10, ")"));
9039                  var l = a[o].childNodes;
9040                  t.config.xaxis.labels.trim &&
9041                    Array.prototype.forEach.call(l, function (i) {
9042                      e.placeTextWithEllipsis(
9043                        i,
9044                        i.textContent,
9045                        t.globals.xAxisLabelsHeight -
9046                          ("bottom" === t.config.legend.position ? 20 : 10)
9047                      );
9048                    });
9049                }
9050              else
9051                !(function () {
9052                  for (
9053                    var i = t.globals.gridWidth / (t.globals.labels.length + 1),
9054                      s = 0;
9055                    s < a.length;
9056                    s++
9057                  ) {
9058                    var r = a[s].childNodes;
9059                    t.config.xaxis.labels.trim &&
9060                      "datetime" !== t.config.xaxis.type &&
9061                      Array.prototype.forEach.call(r, function (t) {
9062                        e.placeTextWithEllipsis(t, t.textContent, i);
9063                      });
9064                  }
9065                })();
9066              if (s.length > 0) {
9067                var h = s[s.length - 1].getBBox(),
9068                  c = s[0].getBBox();
9069                h.x < -20 &&
9070                  s[s.length - 1].parentNode.removeChild(s[s.length - 1]),
9071                  c.x + c.width > t.globals.gridWidth &&
9072                    !t.globals.isBarHorizontal &&
9073                    s[0].parentNode.removeChild(s[0]);
9074                for (var d = 0; d < r.length; d++)
9075                  e.placeTextWithEllipsis(
9076                    r[d],
9077                    r[d].textContent,
9078                    t.config.yaxis[0].labels.maxWidth -
9079                      (t.config.yaxis[0].title.text
9080                        ? 2 * parseFloat(t.config.yaxis[0].title.style.fontSize)
9081                        : 0) -
9082                      15
9083                  );
9084              }
9085            },
9086          },
9087        ]),
9088        t
9089      );
9090    })(),
9091    j = (function () {
9092      function t(e) {
9093        a(this, t), (this.ctx = e), (this.w = e.w);
9094        var i = this.w;
9095        (this.xaxisLabels = i.globals.labels.slice()),
9096          (this.axesUtils = new B(e)),
9097          (this.isRangeBar =
9098            i.globals.seriesRange.length && i.globals.isBarHorizontal),
9099          i.globals.timescaleLabels.length > 0 &&
9100            (this.xaxisLabels = i.globals.timescaleLabels.slice());
9101      }
9102      return (
9103        r(t, [
9104          {
9105            key: "drawGridArea",
9106            value: function () {
9107              var t =
9108                  arguments.length > 0 && void 0 !== arguments[0]
9109                    ? arguments[0]
9110                    : null,
9111                e = this.w,
9112                i = new m(this.ctx);
9113              null === t && (t = i.group({ class: "apexcharts-grid" }));
9114              var a = i.drawLine(
9115                  e.globals.padHorizontal,
9116                  1,
9117                  e.globals.padHorizontal,
9118                  e.globals.gridHeight,
9119                  "transparent"
9120                ),
9121                s = i.drawLine(
9122                  e.globals.padHorizontal,
9123                  e.globals.gridHeight,
9124                  e.globals.gridWidth,
9125                  e.globals.gridHeight,
9126                  "transparent"
9127                );
9128              return t.add(s), t.add(a), t;
9129            },
9130          },
9131          {
9132            key: "drawGrid",
9133            value: function () {
9134              var t = null;
9135              return (
9136                this.w.globals.axisCharts &&
9137                  ((t = this.renderGrid()), this.drawGridArea(t.el)),
9138                t
9139              );
9140            },
9141          },
9142          {
9143            key: "createGridMask",
9144            value: function () {
9145              var t = this.w,
9146                e = t.globals,
9147                i = new m(this.ctx),
9148                a = Array.isArray(t.config.stroke.width)
9149                  ? 0
9150                  : t.config.stroke.width;
9151              if (Array.isArray(t.config.stroke.width)) {
9152                var s = 0;
9153                t.config.stroke.width.forEach(function (t) {
9154                  s = Math.max(s, t);
9155                }),
9156                  (a = s);
9157              }
9158              (e.dom.elGridRectMask = document.createElementNS(
9159                e.SVGNS,
9160                "clipPath"
9161              )),
9162                e.dom.elGridRectMask.setAttribute(
9163                  "id",
9164                  "gridRectMask".concat(e.cuid)
9165                ),
9166                (e.dom.elGridRectMarkerMask = document.createElementNS(
9167                  e.SVGNS,
9168                  "clipPath"
9169                )),
9170                e.dom.elGridRectMarkerMask.setAttribute(
9171                  "id",
9172                  "gridRectMarkerMask".concat(e.cuid)
9173                ),
9174                (e.dom.elForecastMask = document.createElementNS(
9175                  e.SVGNS,
9176                  "clipPath"
9177                )),
9178                e.dom.elForecastMask.setAttribute(
9179                  "id",
9180                  "forecastMask".concat(e.cuid)
9181                ),
9182                (e.dom.elNonForecastMask = document.createElementNS(
9183                  e.SVGNS,
9184                  "clipPath"
9185                )),
9186                e.dom.elNonForecastMask.setAttribute(
9187                  "id",
9188                  "nonForecastMask".concat(e.cuid)
9189                );
9190              var r = t.config.chart.type,
9191                o = 0,
9192                n = 0;
9193              ("bar" === r ||
9194                "rangeBar" === r ||
9195                "candlestick" === r ||
9196                "boxPlot" === r ||
9197                t.globals.comboBarCount > 0) &&
9198                t.globals.isXNumeric &&
9199                !t.globals.isBarHorizontal &&
9200                ((o = t.config.grid.padding.left),
9201                (n = t.config.grid.padding.right),
9202                e.barPadForNumericAxis > o &&
9203                  ((o = e.barPadForNumericAxis), (n = e.barPadForNumericAxis))),
9204                (e.dom.elGridRect = i.drawRect(
9205                  -a - o - 2,
9206                  2 * -a - 2,
9207                  e.gridWidth + a + n + o + 4,
9208                  e.gridHeight + 4 * a + 4,
9209                  0,
9210                  "#fff"
9211                ));
9212              var l = t.globals.markers.largestSize + 1;
9213              (e.dom.elGridRectMarker = i.drawRect(
9214                2 * -l,
9215                2 * -l,
9216                e.gridWidth + 4 * l,
9217                e.gridHeight + 4 * l,
9218                0,
9219                "#fff"
9220              )),
9221                e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),
9222                e.dom.elGridRectMarkerMask.appendChild(
9223                  e.dom.elGridRectMarker.node
9224                );
9225              var h = e.dom.baseEl.querySelector("defs");
9226              h.appendChild(e.dom.elGridRectMask),
9227                h.appendChild(e.dom.elForecastMask),
9228                h.appendChild(e.dom.elNonForecastMask),
9229                h.appendChild(e.dom.elGridRectMarkerMask);
9230            },
9231          },
9232          {
9233            key: "_drawGridLines",
9234            value: function (t) {
9235              var e = t.i,
9236                i = t.x1,
9237                a = t.y1,
9238                s = t.x2,
9239                r = t.y2,
9240                o = t.xCount,
9241                n = t.parent,
9242                l = this.w;
9243              if (
9244                !(
9245                  (0 === e && l.globals.skipFirstTimelinelabel) ||
9246                  (e === o - 1 &&
9247                    l.globals.skipLastTimelinelabel &&
9248                    !l.config.xaxis.labels.formatter) ||
9249                  "radar" === l.config.chart.type
9250                )
9251              ) {
9252                l.config.grid.xaxis.lines.show &&
9253                  this._drawGridLine({
9254                    i: e,
9255                    x1: i,
9256                    y1: a,
9257                    x2: s,
9258                    y2: r,
9259                    xCount: o,
9260                    parent: n,
9261                  });
9262                var h = 0;
9263                if (
9264                  l.globals.hasXaxisGroups &&
9265                  "between" === l.config.xaxis.tickPlacement
9266                ) {
9267                  var c = l.globals.groups;
9268                  if (c) {
9269                    for (var d = 0, g = 0; d < e && g < c.length; g++)
9270                      d += c[g].cols;
9271                    d === e && (h = 0.6 * l.globals.xAxisLabelsHeight);
9272                  }
9273                }
9274                new V(this.ctx).drawXaxisTicks(i, h, l.globals.dom.elGraphical);
9275              }
9276            },
9277          },
9278          {
9279            key: "_drawGridLine",
9280            value: function (t) {
9281              var e = t.i,
9282                i = t.x1,
9283                a = t.y1,
9284                s = t.x2,
9285                r = t.y2,
9286                o = t.xCount,
9287                n = t.parent,
9288                l = this.w,
9289                h = !1,
9290                c = n.node.classList.contains(
9291                  "apexcharts-gridlines-horizontal"
9292                ),
9293                d = l.config.grid.strokeDashArray,
9294                g = l.globals.barPadForNumericAxis;
9295              ((0 === a && 0 === r) || (0 === i && 0 === s)) && (h = !0),
9296                a === l.globals.gridHeight &&
9297                  r === l.globals.gridHeight &&
9298                  (h = !0),
9299                !l.globals.isBarHorizontal ||
9300                  (0 !== e && e !== o - 1) ||
9301                  (h = !0);
9302              var u = new m(this).drawLine(
9303                i - (c ? g : 0),
9304                a,
9305                s + (c ? g : 0),
9306                r,
9307                l.config.grid.borderColor,
9308                d
9309              );
9310              u.node.classList.add("apexcharts-gridline"),
9311                h && l.config.grid.show ? this.elGridBorders.add(u) : n.add(u);
9312            },
9313          },
9314          {
9315            key: "_drawGridBandRect",
9316            value: function (t) {
9317              var e = t.c,
9318                i = t.x1,
9319                a = t.y1,
9320                s = t.x2,
9321                r = t.y2,
9322                o = t.type,
9323                n = this.w,
9324                l = new m(this.ctx),
9325                h = n.globals.barPadForNumericAxis;
9326              if ("column" !== o || "datetime" !== n.config.xaxis.type) {
9327                var c = n.config.grid[o].colors[e],
9328                  d = l.drawRect(
9329                    i - ("row" === o ? h : 0),
9330                    a,
9331                    s + ("row" === o ? 2 * h : 0),
9332                    r,
9333                    0,
9334                    c,
9335                    n.config.grid[o].opacity
9336                  );
9337                this.elg.add(d),
9338                  d.attr(
9339                    "clip-path",
9340                    "url(#gridRectMask".concat(n.globals.cuid, ")")
9341                  ),
9342                  d.node.classList.add("apexcharts-grid-".concat(o));
9343              }
9344            },
9345          },
9346          {
9347            key: "_drawXYLines",
9348            value: function (t) {
9349              var e = this,
9350                i = t.xCount,
9351                a = t.tickAmount,
9352                s = this.w;
9353              if (
9354                s.config.grid.xaxis.lines.show ||
9355                s.config.xaxis.axisTicks.show
9356              ) {
9357                var r,
9358                  o = s.globals.padHorizontal,
9359                  n = s.globals.gridHeight;
9360                s.globals.timescaleLabels.length
9361                  ? (function (t) {
9362                      for (
9363                        var a = t.xC,
9364                          s = t.x1,
9365                          r = t.y1,
9366                          o = t.x2,
9367                          n = t.y2,
9368                          l = 0;
9369                        l < a;
9370                        l++
9371                      )
9372                        (s = e.xaxisLabels[l].position),
9373                          (o = e.xaxisLabels[l].position),
9374                          e._drawGridLines({
9375                            i: l,
9376                            x1: s,
9377                            y1: r,
9378                            x2: o,
9379                            y2: n,
9380                            xCount: i,
9381                            parent: e.elgridLinesV,
9382                          });
9383                    })({ xC: i, x1: o, y1: 0, x2: r, y2: n })
9384                  : (s.globals.isXNumeric &&
9385                      (i = s.globals.xAxisScale.result.length),
9386                    (function (t) {
9387                      for (
9388                        var a = t.xC,
9389                          r = t.x1,
9390                          o = t.y1,
9391                          n = t.x2,
9392                          l = t.y2,
9393                          h = 0;
9394                        h < a + (s.globals.isXNumeric ? 0 : 1);
9395                        h++
9396                      )
9397                        0 === h &&
9398                          1 === a &&
9399                          1 === s.globals.dataPoints &&
9400                          (n = r = s.globals.gridWidth / 2),
9401                          e._drawGridLines({
9402                            i: h,
9403                            x1: r,
9404                            y1: o,
9405                            x2: n,
9406                            y2: l,
9407                            xCount: i,
9408                            parent: e.elgridLinesV,
9409                          }),
9410                          (n = r +=
9411                            s.globals.gridWidth /
9412                            (s.globals.isXNumeric ? a - 1 : a));
9413                    })({ xC: i, x1: o, y1: 0, x2: r, y2: n }));
9414              }
9415              if (s.config.grid.yaxis.lines.show) {
9416                var l = 0,
9417                  h = 0,
9418                  c = s.globals.gridWidth,
9419                  d = a + 1;
9420                this.isRangeBar && (d = s.globals.labels.length);
9421                for (var g = 0; g < d + (this.isRangeBar ? 1 : 0); g++)
9422                  this._drawGridLine({
9423                    i: g,
9424                    xCount: d + (this.isRangeBar ? 1 : 0),
9425                    x1: 0,
9426                    y1: l,
9427                    x2: c,
9428                    y2: h,
9429                    parent: this.elgridLinesH,
9430                  }),
9431                    (h = l += s.globals.gridHeight / (this.isRangeBar ? d : a));
9432              }
9433            },
9434          },
9435          {
9436            key: "_drawInvertedXYLines",
9437            value: function (t) {
9438              var e = t.xCount,
9439                i = this.w;
9440              if (
9441                i.config.grid.xaxis.lines.show ||
9442                i.config.xaxis.axisTicks.show
9443              )
9444                for (
9445                  var a,
9446                    s = i.globals.padHorizontal,
9447                    r = i.globals.gridHeight,
9448                    o = 0;
9449                  o < e + 1;
9450                  o++
9451                ) {
9452                  i.config.grid.xaxis.lines.show &&
9453                    this._drawGridLine({
9454                      i: o,
9455                      xCount: e + 1,
9456                      x1: s,
9457                      y1: 0,
9458                      x2: a,
9459                      y2: r,
9460                      parent: this.elgridLinesV,
9461                    }),
9462                    new V(this.ctx).drawXaxisTicks(
9463                      s,
9464                      0,
9465                      i.globals.dom.elGraphical
9466                    ),
9467                    (a = s = s + i.globals.gridWidth / e + 0.3);
9468                }
9469              if (i.config.grid.yaxis.lines.show)
9470                for (
9471                  var n = 0, l = 0, h = i.globals.gridWidth, c = 0;
9472                  c < i.globals.dataPoints + 1;
9473                  c++
9474                )
9475                  this._drawGridLine({
9476                    i: c,
9477                    xCount: i.globals.dataPoints + 1,
9478                    x1: 0,
9479                    y1: n,
9480                    x2: h,
9481                    y2: l,
9482                    parent: this.elgridLinesH,
9483                  }),
9484                    (l = n += i.globals.gridHeight / i.globals.dataPoints);
9485            },
9486          },
9487          {
9488            key: "renderGrid",
9489            value: function () {
9490              var t = this.w,
9491                e = new m(this.ctx);
9492              (this.elg = e.group({ class: "apexcharts-grid" })),
9493                (this.elgridLinesH = e.group({
9494                  class: "apexcharts-gridlines-horizontal",
9495                })),
9496                (this.elgridLinesV = e.group({
9497                  class: "apexcharts-gridlines-vertical",
9498                })),
9499                (this.elGridBorders = e.group({
9500                  class: "apexcharts-grid-borders",
9501                })),
9502                this.elg.add(this.elgridLinesH),
9503                this.elg.add(this.elgridLinesV),
9504                t.config.grid.show ||
9505                  (this.elgridLinesV.hide(),
9506                  this.elgridLinesH.hide(),
9507                  this.elGridBorders.hide());
9508              for (
9509                var i,
9510                  a = t.globals.yAxisScale.length
9511                    ? t.globals.yAxisScale[0].result.length - 1
9512                    : 5,
9513                  s = 0;
9514                s < t.globals.series.length &&
9515                (void 0 !== t.globals.yAxisScale[s] &&
9516                  (a = t.globals.yAxisScale[s].result.length - 1),
9517                !(a > 2));
9518                s++
9519              );
9520              if (!t.globals.isBarHorizontal || this.isRangeBar) {
9521                var r, o, n;
9522                if (((i = this.xaxisLabels.length), this.isRangeBar))
9523                  i--,
9524                    (a = t.globals.labels.length),
9525                    t.config.xaxis.tickAmount &&
9526                      t.config.xaxis.labels.formatter &&
9527                      (i = t.config.xaxis.tickAmount),
9528                    (null === (r = t.globals.yAxisScale) ||
9529                    void 0 === r ||
9530                    null === (o = r[0]) ||
9531                    void 0 === o ||
9532                    null === (n = o.result) ||
9533                    void 0 === n
9534                      ? void 0
9535                      : n.length) > 0 &&
9536                      "datetime" !== t.config.xaxis.type &&
9537                      (i = t.globals.yAxisScale[0].result.length - 1);
9538                this._drawXYLines({ xCount: i, tickAmount: a });
9539              } else
9540                (i = a),
9541                  (a = t.globals.xTickAmount),
9542                  this._drawInvertedXYLines({ xCount: i, tickAmount: a });
9543              return (
9544                this.drawGridBands(i, a),
9545                {
9546                  el: this.elg,
9547                  elGridBorders: this.elGridBorders,
9548                  xAxisTickWidth: t.globals.gridWidth / i,
9549                }
9550              );
9551            },
9552          },
9553          {
9554            key: "drawGridBands",
9555            value: function (t, e) {
9556              var i = this.w;
9557              if (
9558                void 0 !== i.config.grid.row.colors &&
9559                i.config.grid.row.colors.length > 0
9560              )
9561                for (
9562                  var a = 0,
9563                    s = i.globals.gridHeight / e,
9564                    r = i.globals.gridWidth,
9565                    o = 0,
9566                    n = 0;
9567                  o < e;
9568                  o++, n++
9569                )
9570                  n >= i.config.grid.row.colors.length && (n = 0),
9571                    this._drawGridBandRect({
9572                      c: n,
9573                      x1: 0,
9574                      y1: a,
9575                      x2: r,
9576                      y2: s,
9577                      type: "row",
9578                    }),
9579                    (a += i.globals.gridHeight / e);
9580              if (
9581                void 0 !== i.config.grid.column.colors &&
9582                i.config.grid.column.colors.length > 0
9583              )
9584                for (
9585                  var l =
9586                      i.globals.isBarHorizontal ||
9587                      "on" !== i.config.xaxis.tickPlacement ||
9588                      ("category" !== i.config.xaxis.type &&
9589                        !i.config.xaxis.convertedCatToNumeric)
9590                        ? t
9591                        : t - 1,
9592                    h = i.globals.padHorizontal,
9593                    c = i.globals.padHorizontal + i.globals.gridWidth / l,
9594                    d = i.globals.gridHeight,
9595                    g = 0,
9596                    u = 0;
9597                  g < t;
9598                  g++, u++
9599                )
9600                  u >= i.config.grid.column.colors.length && (u = 0),
9601                    this._drawGridBandRect({
9602                      c: u,
9603                      x1: h,
9604                      y1: 0,
9605                      x2: c,
9606                      y2: d,
9607                      type: "column",
9608                    }),
9609                    (h += i.globals.gridWidth / l);
9610            },
9611          },
9612        ]),
9613        t
9614      );
9615    })(),
9616    _ = (function () {
9617      function t(e) {
9618        a(this, t), (this.ctx = e), (this.w = e.w);
9619      }
9620      return (
9621        r(t, [
9622          {
9623            key: "niceScale",
9624            value: function (t, e) {
9625              var i =
9626                  arguments.length > 2 && void 0 !== arguments[2]
9627                    ? arguments[2]
9628                    : 0,
9629                a = 1e-11,
9630                s = this.w,
9631                r = s.globals,
9632                o = s.config.xaxis,
9633                n = s.config.yaxis[i],
9634                l = void 0 !== n.min && null !== n.min,
9635                h = void 0 !== n.max && null !== n.min,
9636                c = void 0 !== n.stepSize && null !== n.stepSize,
9637                d = void 0 !== n.tickAmount && null !== n.tickAmount,
9638                g = ((r.isBarHorizontal ? r.svgWidth : r.svgHeight) - 100) / 15,
9639                u = d ? n.tickAmount : 10;
9640              if (
9641                (r.isMultipleYAxis &&
9642                  !d &&
9643                  r.multiAxisTickAmount > 0 &&
9644                  ((u = r.multiAxisTickAmount), (d = !0)),
9645                (u =
9646                  "dataPoints" === u
9647                    ? r.dataPoints - 1
9648                    : Math.abs(Math.round(u))),
9649                ((t === Number.MIN_VALUE && 0 === e) ||
9650                  (!x.isNumber(t) && !x.isNumber(e)) ||
9651                  (t === Number.MIN_VALUE && e === -Number.MAX_VALUE)) &&
9652                  ((t = 0), (e = u), (r.allSeriesCollapsed = !1)),
9653                t > e)
9654              ) {
9655                console.warn(
9656                  "axis.min cannot be greater than axis.max: swapping min and max"
9657                );
9658                var p = e;
9659                (e = t), (t = p);
9660              } else
9661                t === e &&
9662                  ((t = 0 === t ? 0 : t - 1), (e = 0 === e ? 2 : e + 1));
9663              var f = [];
9664              u < 1 && (u = 1);
9665              var b = u,
9666                v = Math.abs(e - t);
9667              if (n.forceNiceScale) {
9668                !l && t > 0 && t / v < 0.15 && ((t = 0), (l = !0)),
9669                  !h && e < 0 && -e / v < 0.15 && ((e = 0), (h = !0)),
9670                  (v = Math.abs(e - t));
9671              }
9672              var m = v / b,
9673                y = m,
9674                w = Math.floor(Math.log10(y)),
9675                k = Math.pow(10, w),
9676                A = Math.ceil(y / k);
9677              if (
9678                ((m = y =
9679                  (A =
9680                    r.niceScaleAllowedMagMsd[0 === r.yValueDecimal ? 0 : 1][
9681                      A
9682                    ]) * k),
9683                r.isBarHorizontal && o.stepSize && "datetime" !== o.type
9684                  ? ((m = o.stepSize), (c = !0))
9685                  : c && (m = n.stepSize),
9686                c && n.forceNiceScale && Math.round(Math.log10(m)) != w)
9687              ) {
9688                for (var S = v / u; m < S; ) m *= 10;
9689                for (; m > S; ) m /= 10;
9690              }
9691              if (l && h) {
9692                var C = v / b;
9693                if (d)
9694                  if (c)
9695                    if (0 != x.mod(v, m)) {
9696                      var L = x.getGCD(m, C);
9697                      m = C / L < 10 ? L : C;
9698                    } else 0 == x.mod(m, C) ? (m = C) : ((C = m), (d = !1));
9699                  else m = C;
9700                else if (c) 0 == x.mod(v, m) ? (C = m) : (m = C);
9701                else if (
9702                  ((C = v / (b = Math.round(v / y))), 0 != x.mod(v, m))
9703                ) {
9704                  var P = x.getGCD(v, y);
9705                  y / P < 10 && (C = P), (m = C);
9706                } else C = m;
9707                b = Math.round(v / m);
9708              } else {
9709                if (l || h)
9710                  h
9711                    ? (t = d ? e - m * b : m * Math.floor(t / m))
9712                    : l && (e = d ? t + m * b : m * Math.ceil(e / m));
9713                else if (d) {
9714                  var I = m / (e - t > e ? 1 : 2);
9715                  e = (t = I * Math.floor(t / I)) + m * b;
9716                } else (t = m * Math.floor(t / m)), (e = m * Math.ceil(e / m));
9717                (v = Math.abs(e - t)),
9718                  (m = x.getGCD(v, m)),
9719                  (b = Math.round(v / m));
9720              }
9721              if (
9722                (d ||
9723                  l ||
9724                  h ||
9725                  ((b = Math.ceil((v - a) / (m + a))) > 16 &&
9726                    x.getPrimeFactors(b).length < 2 &&
9727                    b++),
9728                r.isMultipleYAxis &&
9729                  0 == r.multiAxisTickAmount &&
9730                  (r.multiAxisTickAmount = b),
9731                b > g && ((!d && !c) || n.forceNiceScale))
9732              ) {
9733                var M = x.getPrimeFactors(b),
9734                  T = M.length - 1,
9735                  z = b;
9736                t: for (var X = 0; X < T; X++)
9737                  for (var E = 0; E <= T - X; E++) {
9738                    for (
9739                      var Y = Math.min(E + X, T), F = z, R = 1, H = E;
9740                      H <= Y;
9741                      H++
9742                    )
9743                      R *= M[H];
9744                    if ((F /= R) < g) {
9745                      z = F;
9746                      break t;
9747                    }
9748                  }
9749                m = z === b && n.forceNiceScale ? v : v / z;
9750              }
9751              var D = t - m,
9752                O = m * a;
9753              do {
9754                (D += m), f.push(x.stripNumber(D, 7));
9755              } while (e - D > O);
9756              return { result: f, niceMin: f[0], niceMax: f[f.length - 1] };
9757            },
9758          },
9759          {
9760            key: "linearScale",
9761            value: function (t, e) {
9762              var i =
9763                  arguments.length > 2 && void 0 !== arguments[2]
9764                    ? arguments[2]
9765                    : 10,
9766                a =
9767                  arguments.length > 3 && void 0 !== arguments[3]
9768                    ? arguments[3]
9769                    : 0,
9770                s =
9771                  arguments.length > 4 && void 0 !== arguments[4]
9772                    ? arguments[4]
9773                    : void 0,
9774                r = Math.abs(e - t);
9775              "dataPoints" === (i = this._adjustTicksForSmallRange(i, a, r)) &&
9776                (i = this.w.globals.dataPoints - 1),
9777                s || (s = r / i),
9778                i === Number.MAX_VALUE && ((i = 5), (s = 1));
9779              for (var o = [], n = t; i >= 0; ) o.push(n), (n += s), (i -= 1);
9780              return { result: o, niceMin: o[0], niceMax: o[o.length - 1] };
9781            },
9782          },
9783          {
9784            key: "logarithmicScaleNice",
9785            value: function (t, e, i) {
9786              e <= 0 && (e = Math.max(t, i)), t <= 0 && (t = Math.min(e, i));
9787              for (
9788                var a = [],
9789                  s = Math.ceil(Math.log(e) / Math.log(i) + 1),
9790                  r = Math.floor(Math.log(t) / Math.log(i));
9791                r < s;
9792                r++
9793              )
9794                a.push(Math.pow(i, r));
9795              return { result: a, niceMin: a[0], niceMax: a[a.length - 1] };
9796            },
9797          },
9798          {
9799            key: "logarithmicScale",
9800            value: function (t, e, i) {
9801              e <= 0 && (e = Math.max(t, i)), t <= 0 && (t = Math.min(e, i));
9802              for (
9803                var a = [],
9804                  s = Math.log(e) / Math.log(i),
9805                  r = Math.log(t) / Math.log(i),
9806                  o = s - r,
9807                  n = Math.round(o),
9808                  l = o / n,
9809                  h = 0,
9810                  c = r;
9811                h < n;
9812                h++, c += l
9813              )
9814                a.push(Math.pow(i, c));
9815              return (
9816                a.push(Math.pow(i, s)), { result: a, niceMin: t, niceMax: e }
9817              );
9818            },
9819          },
9820          {
9821            key: "_adjustTicksForSmallRange",
9822            value: function (t, e, i) {
9823              var a = t;
9824              if (
9825                void 0 !== e &&
9826                this.w.config.yaxis[e].labels.formatter &&
9827                void 0 === this.w.config.yaxis[e].tickAmount
9828              ) {
9829                var s = Number(this.w.config.yaxis[e].labels.formatter(1));
9830                x.isNumber(s) &&
9831                  0 === this.w.globals.yValueDecimal &&
9832                  (a = Math.ceil(i));
9833              }
9834              return a < t ? a : t;
9835            },
9836          },
9837          {
9838            key: "setYScaleForIndex",
9839            value: function (t, e, i) {
9840              var a = this.w.globals,
9841                s = this.w.config,
9842                r = a.isBarHorizontal ? s.xaxis : s.yaxis[t];
9843              void 0 === a.yAxisScale[t] && (a.yAxisScale[t] = []);
9844              var o = Math.abs(i - e);
9845              r.logarithmic && o <= 5 && (a.invalidLogScale = !0),
9846                r.logarithmic && o > 5
9847                  ? ((a.allSeriesCollapsed = !1),
9848                    (a.yAxisScale[t] = r.forceNiceScale
9849                      ? this.logarithmicScaleNice(e, i, r.logBase)
9850                      : this.logarithmicScale(e, i, r.logBase)))
9851                  : i !== -Number.MAX_VALUE && x.isNumber(i)
9852                  ? ((a.allSeriesCollapsed = !1),
9853                    (a.yAxisScale[t] = this.niceScale(e, i, t)))
9854                  : (a.yAxisScale[t] = this.linearScale(
9855                      0,
9856                      10,
9857                      10,
9858                      t,
9859                      s.yaxis[t].stepSize
9860                    ));
9861            },
9862          },
9863          {
9864            key: "setXScale",
9865            value: function (t, e) {
9866              var i = this.w,
9867                a = i.globals,
9868                s = Math.abs(e - t);
9869              return (
9870                e !== -Number.MAX_VALUE && x.isNumber(e)
9871                  ? (a.xAxisScale = this.linearScale(
9872                      t,
9873                      e,
9874                      i.config.xaxis.tickAmount
9875                        ? i.config.xaxis.tickAmount
9876                        : s < 10 && s > 1
9877                        ? s + 1
9878                        : 10,
9879                      0,
9880                      i.config.xaxis.stepSize
9881                    ))
9882                  : (a.xAxisScale = this.linearScale(0, 10, 10)),
9883                a.xAxisScale
9884              );
9885            },
9886          },
9887          {
9888            key: "setMultipleYScales",
9889            value: function () {
9890              var t = this,
9891                e = this.w.globals,
9892                i = this.w.config,
9893                a = e.minYArr.concat([]),
9894                s = e.maxYArr.concat([]),
9895                r = [];
9896              i.yaxis.forEach(function (e, o) {
9897                var n = o;
9898                i.series.forEach(function (t, i) {
9899                  t.name === e.seriesName &&
9900                    ((n = i),
9901                    o !== i
9902                      ? r.push({ index: i, similarIndex: o, alreadyExists: !0 })
9903                      : r.push({ index: i }));
9904                });
9905                var l = a[n],
9906                  h = s[n];
9907                t.setYScaleForIndex(o, l, h);
9908              }),
9909                this.sameScaleInMultipleAxes(a, s, r);
9910            },
9911          },
9912          {
9913            key: "sameScaleInMultipleAxes",
9914            value: function (t, e, i) {
9915              var a = this,
9916                s = this.w.config,
9917                r = this.w.globals,
9918                o = [];
9919              i.forEach(function (t) {
9920                t.alreadyExists &&
9921                  (void 0 === o[t.index] && (o[t.index] = []),
9922                  o[t.index].push(t.index),
9923                  o[t.index].push(t.similarIndex));
9924              }),
9925                (r.yAxisSameScaleIndices = o),
9926                o.forEach(function (t, e) {
9927                  o.forEach(function (i, a) {
9928                    var s, r;
9929                    e !== a &&
9930                      ((s = t),
9931                      (r = i),
9932                      s.filter(function (t) {
9933                        return -1 !== r.indexOf(t);
9934                      })).length > 0 &&
9935                      (o[e] = o[e].concat(o[a]));
9936                  });
9937                });
9938              var n = o
9939                .map(function (t) {
9940                  return t.filter(function (e, i) {
9941                    return t.indexOf(e) === i;
9942                  });
9943                })
9944                .map(function (t) {
9945                  return t.sort();
9946                });
9947              o = o.filter(function (t) {
9948                return !!t;
9949              });
9950              var l = n.slice(),
9951                h = l.map(function (t) {
9952                  return JSON.stringify(t);
9953                });
9954              l = l.filter(function (t, e) {
9955                return h.indexOf(JSON.stringify(t)) === e;
9956              });
9957              var c = [],
9958                d = [];
9959              t.forEach(function (t, i) {
9960                l.forEach(function (a, s) {
9961                  a.indexOf(i) > -1 &&
9962                    (void 0 === c[s] && ((c[s] = []), (d[s] = [])),
9963                    c[s].push({ key: i, value: t }),
9964                    d[s].push({ key: i, value: e[i] }));
9965                });
9966              });
9967              var g = Array.apply(null, Array(l.length)).map(
9968                  Number.prototype.valueOf,
9969                  Number.MIN_VALUE
9970                ),
9971                u = Array.apply(null, Array(l.length)).map(
9972                  Number.prototype.valueOf,
9973                  -Number.MAX_VALUE
9974                );
9975              c.forEach(function (t, e) {
9976                t.forEach(function (t, i) {
9977                  g[e] = Math.min(t.value, g[e]);
9978                });
9979              }),
9980                d.forEach(function (t, e) {
9981                  t.forEach(function (t, i) {
9982                    u[e] = Math.max(t.value, u[e]);
9983                  });
9984                }),
9985                t.forEach(function (t, e) {
9986                  d.forEach(function (t, i) {
9987                    var o = g[i],
9988                      n = u[i];
9989                    s.chart.stacked &&
9990                      ((n = 0),
9991                      t.forEach(function (t, e) {
9992                        t.value !== -Number.MAX_VALUE && (n += t.value),
9993                          o !== Number.MIN_VALUE && (o += c[i][e].value);
9994                      })),
9995                      t.forEach(function (i, l) {
9996                        t[l].key === e &&
9997                          (void 0 !== s.yaxis[e].min &&
9998                            (o =
9999                              "function" == typeof s.yaxis[e].min
10000                                ? s.yaxis[e].min(r.minY)
10001                                : s.yaxis[e].min),
10002                          void 0 !== s.yaxis[e].max &&
10003                            (n =
10004                              "function" == typeof s.yaxis[e].max
10005                                ? s.yaxis[e].max(r.maxY)
10006                                : s.yaxis[e].max),
10007                          a.setYScaleForIndex(e, o, n));
10008                      });
10009                  });
10010                });
10011            },
10012          },
10013          {
10014            key: "autoScaleY",
10015            value: function (t, e, i) {
10016              t || (t = this);
10017              var a = t.w;
10018              if (a.globals.isMultipleYAxis || a.globals.collapsedSeries.length)
10019                return (
10020                  console.warn(
10021                    "autoScaleYaxis not supported in a multi-yaxis chart."
10022                  ),
10023                  e
10024                );
10025              var s = a.globals.seriesX[0],
10026                r = a.config.chart.stacked;
10027              return (
10028                e.forEach(function (t, o) {
10029                  for (var n = 0, l = 0; l < s.length; l++)
10030                    if (s[l] >= i.xaxis.min) {
10031                      n = l;
10032                      break;
10033                    }
10034                  var h,
10035                    c,
10036                    d = a.globals.minYArr[o],
10037                    g = a.globals.maxYArr[o],
10038                    u = a.globals.stackedSeriesTotals;
10039                  a.globals.series.forEach(function (o, l) {
10040                    var p = o[n];
10041                    r
10042                      ? ((p = u[n]),
10043                        (h = c = p),
10044                        u.forEach(function (t, e) {
10045                          s[e] <= i.xaxis.max &&
10046                            s[e] >= i.xaxis.min &&
10047                            (t > c && null !== t && (c = t),
10048                            o[e] < h && null !== o[e] && (h = o[e]));
10049                        }))
10050                      : ((h = c = p),
10051                        o.forEach(function (t, e) {
10052                          if (s[e] <= i.xaxis.max && s[e] >= i.xaxis.min) {
10053                            var r = t,
10054                              o = t;
10055                            a.globals.series.forEach(function (i, a) {
10056                              null !== t &&
10057                                ((r = Math.min(i[e], r)),
10058                                (o = Math.max(i[e], o)));
10059                            }),
10060                              o > c && null !== o && (c = o),
10061                              r < h && null !== r && (h = r);
10062                          }
10063                        })),
10064                      void 0 === h && void 0 === c && ((h = d), (c = g)),
10065                      (c *= c < 0 ? 0.9 : 1.1),
10066                      0 === (h *= h < 0 ? 1.1 : 0.9) &&
10067                        0 === c &&
10068                        ((h = -1), (c = 1)),
10069                      c < 0 && c < g && (c = g),
10070                      h < 0 && h > d && (h = d),
10071                      e.length > 1
10072                        ? ((e[l].min = void 0 === t.min ? h : t.min),
10073                          (e[l].max = void 0 === t.max ? c : t.max))
10074                        : ((e[0].min = void 0 === t.min ? h : t.min),
10075                          (e[0].max = void 0 === t.max ? c : t.max));
10076                  });
10077                }),
10078                e
10079              );
10080            },
10081          },
10082        ]),
10083        t
10084      );
10085    })(),
10086    U = (function () {
10087      function t(e) {
10088        a(this, t), (this.ctx = e), (this.w = e.w), (this.scales = new _(e));
10089      }
10090      return (
10091        r(t, [
10092          {
10093            key: "init",
10094            value: function () {
10095              this.setYRange(), this.setXRange(), this.setZRange();
10096            },
10097          },
10098          {
10099            key: "getMinYMaxY",
10100            value: function (t) {
10101              var e =
10102                  arguments.length > 1 && void 0 !== arguments[1]
10103                    ? arguments[1]
10104                    : Number.MAX_VALUE,
10105                i =
10106                  arguments.length > 2 && void 0 !== arguments[2]
10107                    ? arguments[2]
10108                    : -Number.MAX_VALUE,
10109                a =
10110                  arguments.length > 3 && void 0 !== arguments[3]
10111                    ? arguments[3]
10112                    : null,
10113                s = this.w.config,
10114                r = this.w.globals,
10115                o = -Number.MAX_VALUE,
10116                n = Number.MIN_VALUE;
10117              null === a && (a = t + 1);
10118              var l = 0,
10119                h = 0,
10120                c = void 0;
10121              if (r.seriesX.length >= a) {
10122                var d;
10123                if (
10124                  ((l = 0),
10125                  (h =
10126                    (c = u(
10127                      new Set(
10128                        (d = []).concat.apply(d, u(r.seriesX.slice(t, a)))
10129                      )
10130                    )).length - 1),
10131                  s.xaxis.min)
10132                )
10133                  for (l = 0; l < h && c[l] <= s.xaxis.min; l++);
10134                if (s.xaxis.max) for (; h > l && c[h] >= s.xaxis.max; h--);
10135              }
10136              var g = r.series,
10137                p = g,
10138                f = g;
10139              "candlestick" === s.chart.type
10140                ? ((p = r.seriesCandleL), (f = r.seriesCandleH))
10141                : "boxPlot" === s.chart.type
10142                ? ((p = r.seriesCandleO), (f = r.seriesCandleC))
10143                : r.isRangeData &&
10144                  ((p = r.seriesRangeStart), (f = r.seriesRangeEnd));
10145              for (var b = t; b < a; b++) {
10146                (r.dataPoints = Math.max(r.dataPoints, g[b].length)),
10147                  r.categoryLabels.length &&
10148                    (r.dataPoints = r.categoryLabels.filter(function (t) {
10149                      return void 0 !== t;
10150                    }).length),
10151                  r.labels.length &&
10152                    "datetime" !== s.xaxis.type &&
10153                    0 !==
10154                      r.series.reduce(function (t, e) {
10155                        return t + e.length;
10156                      }, 0) &&
10157                    (r.dataPoints = Math.max(r.dataPoints, r.labels.length)),
10158                  c || ((l = 0), (h = r.series[b].length));
10159                for (var v = l; v <= h; v++) {
10160                  var m = g[b][v];
10161                  if (null !== m && x.isNumber(m)) {
10162                    switch (
10163                      (void 0 !== f[b][v] &&
10164                        ((o = Math.max(o, f[b][v])),
10165                        (e = Math.min(e, f[b][v]))),
10166                      void 0 !== p[b][v] &&
10167                        ((e = Math.min(e, p[b][v])),
10168                        (i = Math.max(i, p[b][v]))),
10169                      s.series[b].type)
10170                    ) {
10171                      case "candlestick":
10172                        void 0 !== r.seriesCandleC[b][v] &&
10173                          ((o = Math.max(o, r.seriesCandleH[b][v])),
10174                          (e = Math.min(e, r.seriesCandleL[b][v])));
10175                      case "boxPlot":
10176                        void 0 !== r.seriesCandleC[b][v] &&
10177                          ((o = Math.max(o, r.seriesCandleC[b][v])),
10178                          (e = Math.min(e, r.seriesCandleO[b][v])));
10179                    }
10180                    s.series[b].type &&
10181                      "candlestick" !== s.series[b].type &&
10182                      "boxPlot" !== s.series[b].type &&
10183                      "rangeArea" !== s.series[b].type &&
10184                      "rangeBar" !== s.series[b].type &&
10185                      ((o = Math.max(o, r.series[b][v])),
10186                      (e = Math.min(e, r.series[b][v]))),
10187                      (i = o),
10188                      r.seriesGoals[b] &&
10189                        r.seriesGoals[b][v] &&
10190                        Array.isArray(r.seriesGoals[b][v]) &&
10191                        r.seriesGoals[b][v].forEach(function (t) {
10192                          n !== Number.MIN_VALUE &&
10193                            ((n = Math.min(n, t.value)), (e = n)),
10194                            (o = Math.max(o, t.value)),
10195                            (i = o);
10196                        }),
10197                      x.isFloat(m) &&
10198                        ((m = x.noExponents(m)),
10199                        (r.yValueDecimal = Math.max(
10200                          r.yValueDecimal,
10201                          m.toString().split(".")[1].length
10202                        ))),
10203                      n > p[b][v] && p[b][v] < 0 && (n = p[b][v]);
10204                  } else r.hasNullValues = !0;
10205                }
10206              }
10207              return (
10208                "rangeBar" === s.chart.type &&
10209                  r.seriesRangeStart.length &&
10210                  r.isBarHorizontal &&
10211                  (n = e),
10212                "bar" === s.chart.type &&
10213                  (n < 0 && o < 0 && (o = 0),
10214                  n === Number.MIN_VALUE && (n = 0)),
10215                { minY: n, maxY: o, lowestY: e, highestY: i }
10216              );
10217            },
10218          },
10219          {
10220            key: "setYRange",
10221            value: function () {
10222              var t = this.w.globals,
10223                e = this.w.config;
10224              (t.maxY = -Number.MAX_VALUE), (t.minY = Number.MIN_VALUE);
10225              var i = Number.MAX_VALUE;
10226              if (t.isMultipleYAxis) {
10227                i = Number.MAX_VALUE;
10228                for (var a = 0; a < t.series.length; a++) {
10229                  var s = this.getMinYMaxY(a);
10230                  (t.minYArr[a] = s.lowestY),
10231                    (t.maxYArr[a] = s.highestY),
10232                    (i = Math.min(i, s.lowestY));
10233                }
10234              }
10235              var r = this.getMinYMaxY(0, i, null, t.series.length);
10236              if (
10237                ((t.minY = r.lowestY),
10238                (t.maxY = r.highestY),
10239                (i = r.lowestY),
10240                e.chart.stacked && this._setStackedMinMax(),
10241                "line" === e.chart.type ||
10242                "area" === e.chart.type ||
10243                "scatter" === e.chart.type ||
10244                "candlestick" === e.chart.type ||
10245                "boxPlot" === e.chart.type ||
10246                ("rangeBar" === e.chart.type && !t.isBarHorizontal)
10247                  ? t.minY === Number.MIN_VALUE &&
10248                    i !== -Number.MAX_VALUE &&
10249                    i !== t.maxY &&
10250                    (t.minY = i)
10251                  : (t.minY = r.minY),
10252                e.yaxis.forEach(function (e, i) {
10253                  void 0 !== e.max &&
10254                    ("number" == typeof e.max
10255                      ? (t.maxYArr[i] = e.max)
10256                      : "function" == typeof e.max &&
10257                        (t.maxYArr[i] = e.max(
10258                          t.isMultipleYAxis ? t.maxYArr[i] : t.maxY
10259                        )),
10260                    (t.maxY = t.maxYArr[i])),
10261                    void 0 !== e.min &&
10262                      ("number" == typeof e.min
10263                        ? (t.minYArr[i] = e.min)
10264                        : "function" == typeof e.min &&
10265                          (t.minYArr[i] = e.min(
10266                            t.isMultipleYAxis
10267                              ? t.minYArr[i] === Number.MIN_VALUE
10268                                ? 0
10269                                : t.minYArr[i]
10270                              : t.minY
10271                          )),
10272                      (t.minY = t.minYArr[i]));
10273                }),
10274                t.isBarHorizontal)
10275              ) {
10276                ["min", "max"].forEach(function (i) {
10277                  void 0 !== e.xaxis[i] &&
10278                    "number" == typeof e.xaxis[i] &&
10279                    ("min" === i
10280                      ? (t.minY = e.xaxis[i])
10281                      : (t.maxY = e.xaxis[i]));
10282                });
10283              }
10284              return (
10285                t.isMultipleYAxis
10286                  ? (this.scales.setMultipleYScales(),
10287                    (t.minY = i),
10288                    t.yAxisScale.forEach(function (e, i) {
10289                      (t.minYArr[i] = e.niceMin), (t.maxYArr[i] = e.niceMax);
10290                    }))
10291                  : (this.scales.setYScaleForIndex(0, t.minY, t.maxY),
10292                    (t.minY = t.yAxisScale[0].niceMin),
10293                    (t.maxY = t.yAxisScale[0].niceMax),
10294                    (t.minYArr[0] = t.yAxisScale[0].niceMin),
10295                    (t.maxYArr[0] = t.yAxisScale[0].niceMax)),
10296                {
10297                  minY: t.minY,
10298                  maxY: t.maxY,
10299                  minYArr: t.minYArr,
10300                  maxYArr: t.maxYArr,
10301                  yAxisScale: t.yAxisScale,
10302                }
10303              );
10304            },
10305          },
10306          {
10307            key: "setXRange",
10308            value: function () {
10309              var t = this.w.globals,
10310                e = this.w.config,
10311                i =
10312                  "numeric" === e.xaxis.type ||
10313                  "datetime" === e.xaxis.type ||
10314                  ("category" === e.xaxis.type && !t.noLabelsProvi
10314ded) ||
10315                  t.noLabelsProvided ||
10316                  t.isXNumeric;
10317              if (
10318                (t.isXNumeric &&
10319                  (function () {
10320                    for (var e = 0; e < t.series.length; e++)
10321                      if (t.labels[e])
10322                        for (var i = 0; i < t.labels[e].length; i++)
10323                          null !== t.labels[e][i] &&
10324                            x.isNumber(t.labels[e][i]) &&
10325                            ((t.maxX = Math.max(t.maxX, t.labels[e][i])),
10326                            (t.initialMaxX = Math.max(t.maxX, t.labels[e][i])),
10327                            (t.minX = Math.min(t.minX, t.labels[e][i])),
10328                            (t.initialMinX = Math.min(t.minX, t.labels[e][i])));
10329                  })(),
10330                t.noLabelsProvided &&
10331                  0 === e.xaxis.categories.length &&
10332                  ((t.maxX = t.labels[t.labels.length - 1]),
10333                  (t.initialMaxX = t.labels[t.labels.length - 1]),
10334                  (t.minX = 1),
10335                  (t.initialMinX = 1)),
10336                t.isXNumeric || t.noLabelsProvided || t.dataFormatXNumeric)
10337              ) {
10338                var a;
10339                if (
10340                  (void 0 === e.xaxis.tickAmount
10341                    ? ((a = Math.round(t.svgWidth / 150)),
10342                      "numeric" === e.xaxis.type &&
10343                        t.dataPoints < 30 &&
10344                        (a = t.dataPoints - 1),
10345                      a > t.dataPoints &&
10346                        0 !== t.dataPoints &&
10347                        (a = t.dataPoints - 1))
10348                    : "dataPoints" === e.xaxis.tickAmount
10349                    ? (t.series.length > 1 &&
10350                        (a = t.series[t.maxValsInArrayIndex].length - 1),
10351                      t.isXNumeric && (a = t.maxX - t.minX - 1))
10352                    : (a = e.xaxis.tickAmount),
10353                  (t.xTickAmount = a),
10354                  void 0 !== e.xaxis.max &&
10355                    "number" == typeof e.xaxis.max &&
10356                    (t.maxX = e.xaxis.max),
10357                  void 0 !== e.xaxis.min &&
10358                    "number" == typeof e.xaxis.min &&
10359                    (t.minX = e.xaxis.min),
10360                  void 0 !== e.xaxis.range && (t.minX = t.maxX - e.xaxis.range),
10361                  t.minX !== Number.MAX_VALUE && t.maxX !== -Number.MAX_VALUE)
10362                )
10363                  if (e.xaxis.convertedCatToNumeric && !t.dataFormatXNumeric) {
10364                    for (var s = [], r = t.minX - 1; r < t.maxX; r++)
10365                      s.push(r + 1);
10366                    t.xAxisScale = {
10367                      result: s,
10368                      niceMin: s[0],
10369                      niceMax: s[s.length - 1],
10370                    };
10371                  } else t.xAxisScale = this.scales.setXScale(t.minX, t.maxX);
10372                else
10373                  (t.xAxisScale = this.scales.linearScale(
10374                    0,
10375                    a,
10376                    a,
10377                    0,
10378                    e.xaxis.stepSize
10379                  )),
10380                    t.noLabelsProvided &&
10381                      t.labels.length > 0 &&
10382                      ((t.xAxisScale = this.scales.linearScale(
10383                        1,
10384                        t.labels.length,
10385                        a - 1,
10386                        0,
10387                        e.xaxis.stepSize
10388                      )),
10389                      (t.seriesX = t.labels.slice()));
10390                i && (t.labels = t.xAxisScale.result.slice());
10391              }
10392              return (
10393                t.isBarHorizontal &&
10394                  t.labels.length &&
10395                  (t.xTickAmount = t.labels.length),
10396                this._handleSingleDataPoint(),
10397                this._getMinXDiff(),
10398                { minX: t.minX, maxX: t.maxX }
10399              );
10400            },
10401          },
10402          {
10403            key: "setZRange",
10404            value: function () {
10405              var t = this.w.globals;
10406              if (t.isDataXYZ)
10407                for (var e = 0; e < t.series.length; e++)
10408                  if (void 0 !== t.seriesZ[e])
10409                    for (var i = 0; i < t.seriesZ[e].length; i++)
10410                      null !== t.seriesZ[e][i] &&
10411                        x.isNumber(t.seriesZ[e][i]) &&
10412                        ((t.maxZ = Math.max(t.maxZ, t.seriesZ[e][i])),
10413                        (t.minZ = Math.min(t.minZ, t.seriesZ[e][i])));
10414            },
10415          },
10416          {
10417            key: "_handleSingleDataPoint",
10418            value: function () {
10419              var t = this.w.globals,
10420                e = this.w.config;
10421              if (t.minX === t.maxX) {
10422                var i = new I(this.ctx);
10423                if ("datetime" === e.xaxis.type) {
10424                  var a = i.getDate(t.minX);
10425                  e.xaxis.labels.datetimeUTC
10426                    ? a.setUTCDate(a.getUTCDate() - 2)
10427                    : a.setDate(a.getDate() - 2),
10428                    (t.minX = new Date(a).getTime());
10429                  var s = i.getDate(t.maxX);
10430                  e.xaxis.labels.datetimeUTC
10431                    ? s.setUTCDate(s.getUTCDate() + 2)
10432                    : s.setDate(s.getDate() + 2),
10433                    (t.maxX = new Date(s).getTime());
10434                } else
10435                  ("numeric" === e.xaxis.type ||
10436                    ("category" === e.xaxis.type && !t.noLabelsProvided)) &&
10437                    ((t.minX = t.minX - 2),
10438                    (t.initialMinX = t.minX),
10439                    (t.maxX = t.maxX + 2),
10440                    (t.initialMaxX = t.maxX));
10441              }
10442            },
10443          },
10444          {
10445            key: "_getMinXDiff",
10446            value: function () {
10447              var t = this.w.globals;
10448              t.isXNumeric &&
10449                t.seriesX.forEach(function (e, i) {
10450                  1 === e.length &&
10451                    e.push(
10452                      t.seriesX[t.maxValsInArrayIndex][
10453                        t.seriesX[t.maxValsInArrayIndex].length - 1
10454                      ]
10455                    );
10456                  var a = e.slice();
10457                  a.sort(function (t, e) {
10458                    return t - e;
10459                  }),
10460                    a.forEach(function (e, i) {
10461                      if (i > 0) {
10462                        var s = e - a[i - 1];
10463                        s > 0 && (t.minXDiff = Math.min(s, t.minXDiff));
10464                      }
10465                    }),
10466                    (1 !== t.dataPoints && t.minXDiff !== Number.MAX_VALUE) ||
10467                      (t.minXDiff = 0.5);
10468                });
10469            },
10470          },
10471          {
10472            key: "_setStackedMinMax",
10473            value: function () {
10474              var t = this,
10475                e = this.w.globals;
10476              if (e.series.length) {
10477                var i = e.seriesGroups;
10478                i.length ||
10479                  (i = [
10480                    this.w.config.series.map(function (t) {
10481                      return t.name;
10482                    }),
10483                  ]);
10484                var a = {},
10485                  s = {};
10486                i.forEach(function (i) {
10487                  (a[i] = []),
10488                    (s[i] = []),
10489                    t.w.config.series
10490                      .map(function (t, e) {
10491                        return i.indexOf(t.name) > -1 ? e : null;
10492                      })
10493                      .filter(function (t) {
10494                        return null !== t;
10495                      })
10496                      .forEach(function (r) {
10497                        for (
10498                          var o = 0;
10499                          o < e.series[e.maxValsInArrayIndex].length;
10500                          o++
10501                        ) {
10502                          var n, l;
10503                          void 0 === a[i][o] && ((a[i][o] = 0), (s[i][o] = 0)),
10504                            ((t.w.config.chart.stacked && !e.comboCharts) ||
10505                              (t.w.config.chart.stacked &&
10506                                e.comboCharts &&
10507                                (!t.w.config.chart.stackOnlyBar ||
10508                                  "bar" ===
10509                                    (null === (n = t.w.config.series) ||
10510                                    void 0 === n ||
10511                                    null === (l = n[r]) ||
10512                                    void 0 === l
10513                                      ? void 0
10514                                      : l.type)))) &&
10515                              null !== e.series[r][o] &&
10516                              x.isNumber(e.series[r][o]) &&
10517                              (e.series[r][o] > 0
10518                                ? (a[i][o] += parseFloat(e.series[r][o]) + 1e-4)
10519                                : (s[i][o] += parseFloat(e.series[r][o])));
10520                        }
10521                      });
10522                }),
10523                  Object.entries(a).forEach(function (t) {
10524                    var i = g(t, 1)[0];
10525                    a[i].forEach(function (t, r) {
10526                      (e.maxY = Math.max(e.maxY, a[i][r])),
10527                        (e.minY = Math.min(e.minY, s[i][r]));
10528                    });
10529                  });
10530              }
10531            },
10532          },
10533        ]),
10534        t
10535      );
10536    })(),
10537    q = (function () {
10538      function t(e, i) {
10539        a(this, t), (this.ctx = e), (this.elgrid = i), (this.w = e.w);
10540        var s = this.w;
10541        (this.xaxisFontSize = s.config.xaxis.labels.style.fontSize),
10542          (this.axisFontFamily = s.config.xaxis.labels.style.fontFamily),
10543          (this.xaxisForeColors = s.config.xaxis.labels.style.colors),
10544          (this.isCategoryBarHorizontal =
10545            "bar" === s.config.chart.type &&
10546            s.config.plotOptions.bar.horizontal),
10547          (this.xAxisoffX = 0),
10548          "bottom" === s.config.xaxis.position &&
10549            (this.xAxisoffX = s.globals.gridHeight),
10550          (this.drawnLabels = []),
10551          (this.axesUtils = new B(e));
10552      }
10553      return (
10554        r(t, [
10555          {
10556            key: "drawYaxis",
10557            value: function (t) {
10558              var e = this,
10559                i = this.w,
10560                a = new m(this.ctx),
10561                s = i.config.yaxis[t].labels.style,
10562                r = s.fontSize,
10563                o = s.fontFamily,
10564                n = s.fontWeight,
10565                l = a.group({
10566                  class: "apexcharts-yaxis",
10567                  rel: t,
10568                  transform:
10569                    "translate(" + i.globals.translateYAxisX[t] + ", 0)",
10570                });
10571              if (this.axesUtils.isYAxisHidden(t)) return l;
10572              var h = a.group({ class: "apexcharts-yaxis-texts-g" });
10573              l.add(h);
10574              var c = i.globals.yAxisScale[t].result.length - 1,
10575                d = i.globals.gridHeight / c,
10576                g = i.globals.translateY,
10577                u = i.globals.yLabelFormatters[t],
10578                p = i.globals.yAxisScale[t].result.slice();
10579              p = this.axesUtils.checkForReversedLabels(t, p);
10580              var f = "";
10581              if (i.config.yaxis[t].labels.show)
10582                for (
10583                  var x = function (l) {
10584                      var x = p[l];
10585                      x = u(x, l, i);
10586                      var b = i.config.yaxis[t].labels.padding;
10587                      i.config.yaxis[t].opposite &&
10588                        0 !== i.config.yaxis.length &&
10589                        (b *= -1);
10590                      var v = "end";
10591                      i.config.yaxis[t].opposite && (v = "start"),
10592                        "left" === i.config.yaxis[t].labels.align
10593                          ? (v = "start")
10594                          : "center" === i.config.yaxis[t].labels.align
10595                          ? (v = "middle")
10596                          : "right" === i.config.yaxis[t].labels.align &&
10597                            (v = "end");
10598                      var m = e.axesUtils.getYAxisForeColor(s.colors, t),
10599                        y = i.config.yaxis[t].labels.offsetY;
10600                      "heatmap" === i.config.chart.type &&
10601                        (y -=
10602                          (i.globals.gridHeight / i.globals.series.length - 1) /
10603                          2);
10604                      var w = a.drawText({
10605                        x: b,
10606                        y: g + c / 10 + y + 1,
10607                        text: x,
10608                        textAnchor: v,
10609                        fontSize: r,
10610                        fontFamily: o,
10611                        fontWeight: n,
10612                        maxWidth: i.config.yaxis[t].labels.maxWidth,
10613                        foreColor: Array.isArray(m) ? m[l] : m,
10614                        isPlainText: !1,
10615                        cssClass: "apexcharts-yaxis-label " + s.cssClass,
10616                      });
10617                      l === c && (f = w), h.add(w);
10618                      var k = document.createElementNS(
10619                        i.globals.SVGNS,
10620                        "title"
10621                      );
10622                      if (
10623                        ((k.textContent = Array.isArray(x) ? x.join(" ") : x),
10624                        w.node.appendChild(k),
10625                        0 !== i.config.yaxis[t].labels.rotate)
10626                      ) {
10627                        var A = a.rotateAroundCenter(f.node),
10628                          S = a.rotateAroundCenter(w.node);
10629                        w.node.setAttribute(
10630                          "transform",
10631                          "rotate("
10632                            .concat(i.config.yaxis[t].labels.rotate, " ")
10633                            .concat(A.x, " ")
10634                            .concat(S.y, ")")
10635                        );
10636                      }
10637                      g += d;
10638                    },
10639                    b = c;
10640                  b >= 0;
10641                  b--
10642                )
10643                  x(b);
10644              if (void 0 !== i.config.yaxis[t].title.text) {
10645                var v = a.group({ class: "apexcharts-yaxis-title" }),
10646                  y = 0;
10647                i.config.yaxis[t].opposite &&
10648                  (y = i.globals.translateYAxisX[t]);
10649                var w = a.drawText({
10650                  x: y,
10651                  y:
10652                    i.globals.gridHeight / 2 +
10653                    i.globals.translateY +
10654                    i.config.yaxis[t].title.offsetY,
10655                  text: i.config.yaxis[t].title.text,
10656                  textAnchor: "end",
10657                  foreColor: i.config.yaxis[t].title.style.color,
10658                  fontSize: i.config.yaxis[t].title.style.fontSize,
10659                  fontWeight: i.config.yaxis[t].title.style.fontWeight,
10660                  fontFamily: i.config.yaxis[t].title.style.fontFamily,
10661                  cssClass:
10662                    "apexcharts-yaxis-title-text " +
10663                    i.config.yaxis[t].title.style.cssClass,
10664                });
10665                v.add(w), l.add(v);
10666              }
10667              var k = i.config.yaxis[t].axisBorder,
10668                A = 31 + k.offsetX;
10669              if (
10670                (i.config.yaxis[t].opposite && (A = -31 - k.offsetX), k.show)
10671              ) {
10672                var S = a.drawLine(
10673                  A,
10674                  i.globals.translateY + k.offsetY - 2,
10675                  A,
10676                  i.globals.gridHeight + i.globals.translateY + k.offsetY + 2,
10677                  k.color,
10678                  0,
10679                  k.width
10680                );
10681                l.add(S);
10682              }
10683              return (
10684                i.config.yaxis[t].axisTicks.show &&
10685                  this.axesUtils.drawYAxisTicks(
10686                    A,
10687                    c,
10688                    k,
10689                    i.config.yaxis[t].axisTicks,
10690                    t,
10691                    d,
10692                    l
10693                  ),
10694                l
10695              );
10696            },
10697          },
10698          {
10699            key: "drawYaxisInversed",
10700            value: function (t) {
10701              var e = this.w,
10702                i = new m(this.ctx),
10703                a = i.group({
10704                  class: "apexcharts-xaxis apexcharts-yaxis-inversed",
10705                }),
10706                s = i.group({
10707                  class: "apexcharts-xaxis-texts-g",
10708                  transform: "translate("
10709                    .concat(e.globals.translateXAxisX, ", ")
10710                    .concat(e.globals.translateXAxisY, ")"),
10711                });
10712              a.add(s);
10713              var r = e.globals.yAxisScale[t].result.length - 1,
10714                o = e.globals.gridWidth / r + 0.1,
10715                n = o + e.config.xaxis.labels.offsetX,
10716                l = e.globals.xLabelFormatter,
10717                h = e.globals.yAxisScale[t].result.slice(),
10718                c = e.globals.timescaleLabels;
10719              c.length > 0 &&
10720                ((this.xaxisLabels = c.slice()), (r = (h = c.slice()).length)),
10721                (h = this.axesUtils.checkForReversedLabels(t, h));
10722              var d = c.length;
10723              if (e.config.xaxis.labels.show)
10724                for (var g = d ? 0 : r; d ? g < d : g >= 0; d ? g++ : g--) {
10725                  var u = h[g];
10726                  u = l(u, g, e);
10727                  var p =
10728                    e.globals.gridWidth +
10729                    e.globals.padHorizontal -
10730                    (n - o + e.config.xaxis.labels.offsetX);
10731                  if (c.length) {
10732                    var f = this.axesUtils.getLabel(
10733                      h,
10734                      c,
10735                      p,
10736                      g,
10737                      this.drawnLabels,
10738                      this.xaxisFontSize
10739                    );
10740                    (p = f.x),
10741                      (u = f.text),
10742                      this.drawnLabels.push(f.text),
10743                      0 === g && e.globals.skipFirstTimelinelabel && (u = ""),
10744                      g === h.length - 1 &&
10745                        e.globals.skipLastTimelinelabel &&
10746                        (u = "");
10747                  }
10748                  var x = i.drawText({
10749                    x: p,
10750                    y:
10751                      this.xAxisoffX +
10752                      e.config.xaxis.labels.offsetY +
10753                      30 -
10754                      ("top" === e.config.xaxis.position
10755                        ? e.globals.xAxisHeight +
10756                          e.config.xaxis.axisTicks.height -
10757                          2
10758                        : 0),
10759                    text: u,
10760                    textAnchor: "middle",
10761                    foreColor: Array.isArray(this.xaxisForeColors)
10762                      ? this.xaxisForeColors[t]
10763                      : this.xaxisForeColors,
10764                    fontSize: this.xaxisFontSize,
10765                    fontFamily: this.xaxisFontFamily,
10766                    fontWeight: e.config.xaxis.labels.style.fontWeight,
10767                    isPlainText: !1,
10768                    cssClass:
10769                      "apexcharts-xaxis-label " +
10770                      e.config.xaxis.labels.style.cssClass,
10771                  });
10772                  s.add(x), x.tspan(u);
10773                  var b = document.createElementNS(e.globals.SVGNS, "title");
10774                  (b.textContent = u), x.node.appendChild(b), (n += o);
10775                }
10776              return (
10777                this.inversedYAxisTitleText(a), this.inversedYAxisBorder(a), a
10778              );
10779            },
10780          },
10781          {
10782            key: "inversedYAxisBorder",
10783            value: function (t) {
10784              var e = this.w,
10785                i = new m(this.ctx),
10786                a = e.config.xaxis.axisBorder;
10787              if (a.show) {
10788                var s = 0;
10789                "bar" === e.config.chart.type &&
10790                  e.globals.isXNumeric &&
10791                  (s -= 15);
10792                var r = i.drawLine(
10793                  e.globals.padHorizontal + s + a.offsetX,
10794                  this.xAxisoffX,
10795                  e.globals.gridWidth,
10796                  this.xAxisoffX,
10797                  a.color,
10798                  0,
10799                  a.height
10800                );
10801                this.elgrid && this.elgrid.elGridBorders && e.config.grid.show
10802                  ? this.elgrid.elGridBorders.add(r)
10803                  : t.add(r);
10804              }
10805            },
10806          },
10807          {
10808            key: "inversedYAxisTitleText",
10809            value: function (t) {
10810              var e = this.w,
10811                i = new m(this.ctx);
10812              if (void 0 !== e.config.xaxis.title.text) {
10813                var a = i.group({
10814                    class:
10815                      "apexcharts-xaxis-title apexcharts-yaxis-title-inversed",
10816                  }),
10817                  s = i.drawText({
10818                    x: e.globals.gridWidth / 2 + e.config.xaxis.title.offsetX,
10819                    y:
10820                      this.xAxisoffX +
10821                      parseFloat(this.xaxisFontSize) +
10822                      parseFloat(e.config.xaxis.title.style.fontSize) +
10823                      e.config.xaxis.title.offsetY +
10824                      20,
10825                    text: e.config.xaxis.title.text,
10826                    textAnchor: "middle",
10827                    fontSize: e.config.xaxis.title.style.fontSize,
10828                    fontFamily: e.config.xaxis.title.style.fontFamily,
10829                    fontWeight: e.config.xaxis.title.style.fontWeight,
10830                    foreColor: e.config.xaxis.title.style.color,
10831                    cssClass:
10832                      "apexcharts-xaxis-title-text " +
10833                      e.config.xaxis.title.style.cssClass,
10834                  });
10835                a.add(s), t.add(a);
10836              }
10837            },
10838          },
10839          {
10840            key: "yAxisTitleRotate",
10841            value: function (t, e) {
10842              var i = this.w,
10843                a = new m(this.ctx),
10844                s = { width: 0, height: 0 },
10845                r = { width: 0, height: 0 },
10846                o = i.globals.dom.baseEl.querySelector(
10847                  " .apexcharts-yaxis[rel='".concat(
10848                    t,
10849                    "'] .apexcharts-yaxis-texts-g"
10850                  )
10851                );
10852              null !== o && (s = o.getBoundingClientRect());
10853              var n = i.globals.dom.baseEl.querySelector(
10854                ".apexcharts-yaxis[rel='".concat(
10855                  t,
10856                  "'] .apexcharts-yaxis-title text"
10857                )
10858              );
10859              if ((null !== n && (r = n.getBoundingClientRect()), null !== n)) {
10860                var l = this.xPaddingForYAxisTitle(t, s, r, e);
10861                n.setAttribute("x", l.xPos - (e ? 10 : 0));
10862              }
10863              if (null !== n) {
10864                var h = a.rotateAroundCenter(n);
10865                n.setAttribute(
10866                  "transform",
10867                  "rotate("
10868                    .concat(
10869                      e
10870                        ? -1 * i.config.yaxis[t].title.rotate
10871                        : i.config.yaxis[t].title.rotate,
10872                      " "
10873                    )
10874                    .concat(h.x, " ")
10875                    .concat(h.y, ")")
10876                );
10877              }
10878            },
10879          },
10880          {
10881            key: "xPaddingForYAxisTitle",
10882            value: function (t, e, i, a) {
10883              var s = this.w,
10884                r = 0,
10885                o = 0,
10886                n = 10;
10887              return void 0 === s.config.yaxis[t].title.text || t < 0
10888                ? { xPos: o, padd: 0 }
10889                : (a
10890                    ? ((o =
10891                        e.width +
10892                        s.config.yaxis[t].title.offsetX +
10893                        i.width / 2 +
10894                        n / 2),
10895                      0 === (r += 1) && (o -= n / 2))
10896                    : ((o =
10897                        -1 * e.width +
10898                        s.config.yaxis[t].title.offsetX +
10899                        n / 2 +
10900                        i.width / 2),
10901                      s.globals.isBarHorizontal &&
10902                        ((n = 25),
10903                        (o =
10904                          -1 * e.width - s.config.yaxis[t].title.offsetX - n))),
10905                  { xPos: o, padd: n });
10906            },
10907          },
10908          {
10909            key: "setYAxisXPosition",
10910            value: function (t, e) {
10911              var i = this.w,
10912                a = 0,
10913                s = 0,
10914                r = 18,
10915                o = 1;
10916              i.config.yaxis.length > 1 && (this.multipleYs = !0),
10917                i.config.yaxis.map(function (n, l) {
10918                  var h =
10919                      i.globals.ignoreYAxisIndexes.indexOf(l) > -1 ||
10920                      !n.show ||
10921                      n.floating ||
10922                      0 === t[l].width,
10923                    c = t[l].width + e[l].width;
10924                  n.opposite
10925                    ? i.globals.isBarHorizontal
10926                      ? ((s = i.globals.gridWidth + i.globals.translateX - 1),
10927                        (i.globals.translateYAxisX[l] = s - n.labels.offsetX))
10928                      : ((s = i.globals.gridWidth + i.globals.translateX + o),
10929                        h || (o = o + c + 20),
10930                        (i.globals.translateYAxisX[l] =
10931                          s - n.labels.offsetX + 20))
10932                    : ((a = i.globals.translateX - r),
10933                      h || (r = r + c + 20),
10934                      (i.globals.translateYAxisX[l] = a + n.labels.offsetX));
10935                });
10936            },
10937          },
10938          {
10939            key: "setYAxisTextAlignments",
10940            value: function () {
10941              var t = this.w,
10942                e =
10943                  t.globals.dom.baseEl.getElementsByClassName(
10944                    "apexcharts-yaxis"
10945                  );
10946              (e = x.listToArray(e)).forEach(function (e, i) {
10947                var a = t.config.yaxis[i];
10948                if (a && !a.floating && void 0 !== a.labels.align) {
10949                  var s = t.globals.dom.baseEl.querySelector(
10950                      ".apexcharts-yaxis[rel='".concat(
10951                        i,
10952                        "'] .apexcharts-yaxis-texts-g"
10953                      )
10954                    ),
10955                    r = t.globals.dom.baseEl.querySelectorAll(
10956                      ".apexcharts-yaxis[rel='".concat(
10957                        i,
10958                        "'] .apexcharts-yaxis-label"
10959                      )
10960                    );
10961                  r = x.listToArray(r);
10962                  var o = s.getBoundingClientRect();
10963                  "left" === a.labels.align
10964                    ? (r.forEach(function (t, e) {
10965                        t.setAttribute("text-anchor", "start");
10966                      }),
10967                      a.opposite ||
10968                        s.setAttribute(
10969                          "transform",
10970                          "translate(-".concat(o.width, ", 0)")
10971                        ))
10972                    : "center" === a.labels.align
10973                    ? (r.forEach(function (t, e) {
10974                        t.setAttribute("text-anchor", "middle");
10975                      }),
10976                      s.setAttribute(
10977                        "transform",
10978                        "translate(".concat(
10979                          (o.width / 2) * (a.opposite ? 1 : -1),
10980                          ", 0)"
10981                        )
10982                      ))
10983                    : "right" === a.labels.align &&
10984                      (r.forEach(function (t, e) {
10985                        t.setAttribute("text-anchor", "end");
10986                      }),
10987                      a.opposite &&
10988                        s.setAttribute(
10989                          "transform",
10990                          "translate(".concat(o.width, ", 0)")
10991                        ));
10992                }
10993              });
10994            },
10995          },
10996        ]),
10997        t
10998      );
10999    })(),
11000    Z = (function () {
11001      function t(e) {
11002        a(this, t),
11003          (this.ctx = e),
11004          (this.w = e.w),
11005          (this.documentEvent = x.bind(this.documentEvent, this));
11006      }
11007      return (
11008        r(t, [
11009          {
11010            key: "addEventListener",
11011            value: function (t, e) {
11012              var i = this.w;
11013              i.globals.events.hasOwnProperty(t)
11014                ? i.globals.events[t].push(e)
11015                : (i.globals.events[t] = [e]);
11016            },
11017          },
11018          {
11019            key: "removeEventListener",
11020            value: function (t, e) {
11021              var i = this.w;
11022              if (i.globals.events.hasOwnProperty(t)) {
11023                var a = i.globals.events[t].indexOf(e);
11024                -1 !== a && i.globals.events[t].splice(a, 1);
11025              }
11026            },
11027          },
11028          {
11029            key: "fireEvent",
11030            value: function (t, e) {
11031              var i = this.w;
11032              if (i.globals.events.hasOwnProperty(t)) {
11033                (e && e.length) || (e = []);
11034                for (
11035                  var a = i.globals.events[t], s = a.length, r = 0;
11036                  r < s;
11037                  r++
11038                )
11039                  a[r].apply(null, e);
11040              }
11041            },
11042          },
11043          {
11044            key: "setupEventHandlers",
11045            value: function () {
11046              var t = this,
11047                e = this.w,
11048                i = this.ctx,
11049                a = e.globals.dom.baseEl.querySelector(e.globals.chartClass);
11050              this.ctx.eventList.forEach(function (t) {
11051                a.addEventListener(
11052                  t,
11053                  function (t) {
11054                    var a = Object.assign({}, e, {
11055                      seriesIndex: e.globals.capturedSeriesIndex,
11056                      dataPointIndex: e.globals.capturedDataPointIndex,
11057                    });
11058                    "mousemove" === t.type || "touchmove" === t.type
11059                      ? "function" == typeof e.config.chart.events.mouseMove &&
11060                        e.config.chart.events.mouseMove(t, i, a)
11061                      : "mouseleave" === t.type || "touchleave" === t.type
11062                      ? "function" == typeof e.config.chart.events.mouseLeave &&
11063                        e.config.chart.events.mouseLeave(t, i, a)
11064                      : (("mouseup" === t.type && 1 === t.which) ||
11065                          "touchend" === t.type) &&
11066                        ("function" == typeof e.config.chart.events.click &&
11067                          e.config.chart.events.click(t, i, a),
11068                        i.ctx.events.fireEvent("click", [t, i, a]));
11069                  },
11070                  { capture: !1, passive: !0 }
11071                );
11072              }),
11073                this.ctx.eventList.forEach(function (i) {
11074                  e.globals.dom.baseEl.addEventListener(i, t.documentEvent, {
11075                    passive: !0,
11076                  });
11077                }),
11078                this.ctx.core.setupBrushHandler();
11079            },
11080          },
11081          {
11082            key: "documentEvent",
11083            value: function (t) {
11084              var e = this.w,
11085                i = t.target.className;
11086              if ("click" === t.type) {
11087                var a = e.globals.dom.baseEl.querySelector(".apexcharts-menu");
11088                a &&
11089                  a.classList.contains("apexcharts-menu-open") &&
11090                  "apexcharts-menu-icon" !== i &&
11091                  a.classList.remove("apexcharts-menu-open");
11092              }
11093              (e.globals.clientX =
11094                "touchmove" === t.type ? t.touches[0].clientX : t.clientX),
11095                (e.globals.clientY =
11096                  "touchmove" === t.type ? t.touches[0].clientY : t.clientY);
11097            },
11098          },
11099        ]),
11100        t
11101      );
11102    })(),
11103    $ = (function () {
11104      function t(e) {
11105        a(this, t), (this.ctx = e), (this.w = e.w);
11106      }
11107      return (
11108        r(t, [
11109          {
11110            key: "setCurrentLocaleValues",
11111            value: function (t) {
11112              var e = this.w.config.chart.locales;
11113              window.Apex.chart &&
11114                window.Apex.chart.locales &&
11115                window.Apex.chart.locales.length > 0 &&
11116                (e = this.w.config.chart.locales.concat(
11117                  window.Apex.chart.locales
11118                ));
11119              var i = e.filter(function (e) {
11120                return e.name === t;
11121              })[0];
11122              if (!i)
11123                throw new Error(
11124                  "Wrong locale name provided. Please make sure you set the correct locale name in options"
11125                );
11126              var a = x.extend(C, i);
11127              this.w.globals.locale = a.options;
11128            },
11129          },
11130        ]),
11131        t
11132      );
11133    })(),
11134    J = (function () {
11135      function t(e) {
11136        a(this, t), (this.ctx = e), (this.w = e.w);
11137      }
11138      return (
11139        r(t, [
11140          {
11141            key: "drawAxis",
11142            value: function (t, e) {
11143              var i,
11144                a,
11145                s = this,
11146                r = this.w.globals,
11147                o = this.w.config,
11148                n = new V(this.ctx, e),
11149                l = new q(this.ctx, e);
11150              r.axisCharts &&
11151                "radar" !== t &&
11152                (r.isBarHorizontal
11153                  ? ((a = l.drawYaxisInversed(0)),
11154                    (i = n.drawXaxisInversed(0)),
11155                    r.dom.elGraphical.add(i),
11156                    r.dom.elGraphical.add(a))
11157                  : ((i = n.drawXaxis()),
11158                    r.dom.elGraphical.add(i),
11159                    o.yaxis.map(function (t, e) {
11160                      if (
11161                        -1 === r.ignoreYAxisIndexes.indexOf(e) &&
11162                        ((a = l.drawYaxis(e)),
11163                        r.dom.Paper.add(a),
11164                        "back" === s.w.config.grid.position)
11165                      ) {
11166                        var i = r.dom.Paper.children()[1];
11167                        i.remove(), r.dom.Paper.add(i);
11168                      }
11169                    })));
11170            },
11171          },
11172        ]),
11173        t
11174      );
11175    })(),
11176    Q = (function () {
11177      function t(e) {
11178        a(this, t), (this.ctx = e), (this.w = e.w);
11179      }
11180      return (
11181        r(t, [
11182          {
11183            key: "drawXCrosshairs",
11184            value: function () {
11185              var t = this.w,
11186                e = new m(this.ctx),
11187                i = new v(this.ctx),
11188                a = t.config.xaxis.crosshairs.fill.gradient,
11189                s = t.config.xaxis.crosshairs.dropShadow,
11190                r = t.config.xaxis.crosshairs.fill.type,
11191                o = a.colorFrom,
11192                n = a.colorTo,
11193                l = a.opacityFrom,
11194                h = a.opacityTo,
11195                c = a.stops,
11196                d = s.enabled,
11197                g = s.left,
11198                u = s.top,
11199                p = s.blur,
11200                f = s.color,
11201                b = s.opacity,
11202                y = t.config.xaxis.crosshairs.fill.color;
11203              if (t.config.xaxis.crosshairs.show) {
11204                "gradient" === r &&
11205                  (y = e.drawGradient("vertical", o, n, l, h, null, c, null));
11206                var w = e.drawRect();
11207                1 === t.config.xaxis.crosshairs.width && (w = e.drawLine());
11208                var k = t.globals.gridHeight;
11209                (!x.isNumber(k) || k < 0) && (k = 0);
11210                var A = t.config.xaxis.crosshairs.width;
11211                (!x.isNumber(A) || A < 0) && (A = 0),
11212                  w.attr({
11213                    class: "apexcharts-xcrosshairs",
11214                    x: 0,
11215                    y: 0,
11216                    y2: k,
11217                    width: A,
11218                    height: k,
11219                    fill: y,
11220                    filter: "none",
11221                    "fill-opacity": t.config.xaxis.crosshairs.opacity,
11222                    stroke: t.config.xaxis.crosshairs.stroke.color,
11223                    "stroke-width": t.config.xaxis.crosshairs.stroke.width,
11224                    "stroke-dasharray":
11225                      t.config.xaxis.crosshairs.stroke.dashArray,
11226                  }),
11227                  d &&
11228                    (w = i.dropShadow(w, {
11229                      left: g,
11230                      top: u,
11231                      blur: p,
11232                      color: f,
11233                      opacity: b,
11234                    })),
11235                  t.globals.dom.elGraphical.add(w);
11236              }
11237            },
11238          },
11239          {
11240            key: "drawYCrosshairs",
11241            value: function () {
11242              var t = this.w,
11243                e = new m(this.ctx),
11244                i = t.config.yaxis[0].crosshairs,
11245                a = t.globals.barPadForNumericAxis;
11246              if (t.config.yaxis[0].crosshairs.show) {
11247                var s = e.drawLine(
11248                  -a,
11249                  0,
11250                  t.globals.gridWidth + a,
11251                  0,
11252                  i.stroke.color,
11253                  i.stroke.dashArray,
11254                  i.stroke.width
11255                );
11256                s.attr({ class: "apexcharts-ycrosshairs" }),
11257                  t.globals.dom.elGraphical.add(s);
11258              }
11259              var r = e.drawLine(
11260                -a,
11261                0,
11262                t.globals.gridWidth + a,
11263                0,
11264                i.stroke.color,
11265                0,
11266                0
11267              );
11268              r.attr({ class: "apexcharts-ycrosshairs-hidden" }),
11269                t.globals.dom.elGraphical.add(r);
11270            },
11271          },
11272        ]),
11273        t
11274      );
11275    })(),
11276    K = (function () {
11277      function t(e) {
11278        a(this, t), (this.ctx = e), (this.w = e.w);
11279      }
11280      return (
11281        r(t, [
11282          {
11283            key: "checkResponsiveConfig",
11284            value: function (t) {
11285              var e = this,
11286                i = this.w,
11287                a = i.config;
11288              if (0 !== a.responsive.length) {
11289                var s = a.responsive.slice();
11290                s.sort(function (t, e) {
11291                  return t.breakpoint > e.breakpoint
11292                    ? 1
11293                    : e.breakpoint > t.breakpoint
11294                    ? -1
11295                    : 0;
11296                }).reverse();
11297                var r = new E({}),
11298                  o = function () {
11299                    var t =
11300                        arguments.length > 0 && void 0 !== arguments[0]
11301                          ? arguments[0]
11302                          : {},
11303                      a = s[0].breakpoint,
11304                      o =
11305                        window.innerWidth > 0
11306                          ? window.innerWidth
11307                          : screen.width;
11308                    if (o > a) {
11309                      var n = y.extendArrayProps(r, i.globals.initialConfig, i);
11310                      (t = x.extend(n, t)),
11311                        (t = x.extend(i.config, t)),
11312                        e.overrideResponsiveOptions(t);
11313                    } else
11314                      for (var l = 0; l < s.length; l++)
11315                        o < s[l].breakpoint &&
11316                          ((t = y.extendArrayProps(r, s[l].options, i)),
11317                          (t = x.extend(i.config, t)),
11318                          e.overrideResponsiveOptions(t));
11319                  };
11320                if (t) {
11321                  var n = y.extendArrayProps(r, t, i);
11322                  (n = x.extend(i.config, n)), o((n = x.extend(n, t)));
11323                } else o({});
11324              }
11325            },
11326          },
11327          {
11328            key: "overrideResponsiveOptions",
11329            value: function (t) {
11330              var e = new E(t).init({ responsiveOverride: !0 });
11331              this.w.config = e;
11332            },
11333          },
11334        ]),
11335        t
11336      );
11337    })(),
11338    tt = (function () {
11339      function t(e) {
11340        a(this, t), (this.ctx = e), (this.colors = []), (this.w = e.w);
11341        var i = this.w;
11342        (this.isColorFn = !1),
11343          (this.isHeatmapDistributed =
11344            ("treemap" === i.config.chart.type &&
11345              i.config.plotOptions.treemap.distributed) ||
11346            ("heatmap" === i.config.chart.type &&
11347              i.config.plotOptions.heatmap.distributed)),
11348          (this.isBarDistributed =
11349            i.config.plotOptions.bar.distributed &&
11350            ("bar" === i.config.chart.type ||
11351              "rangeBar" === i.config.chart.type));
11352      }
11353      return (
11354        r(t, [
11355          {
11356            key: "init",
11357            value: function () {
11358              this.setDefaultColors();
11359            },
11360          },
11361          {
11362            key: "setDefaultColors",
11363            value: function () {
11364              var t,
11365                e = this,
11366                i = this.w,
11367                a = new x();
11368              if (
11369                (i.globals.dom.elWrap.classList.add(
11370                  "apexcharts-theme-".concat(i.config.theme.mode)
11371                ),
11372                void 0 === i.config.colors ||
11373                0 ===
11374                  (null === (t = i.config.colors) || void 0 === t
11375                    ? void 0
11376                    : t.length)
11377                  ? (i.globals.colors = this.predefined())
11378                  : ((i.globals.colors = i.config.colors),
11379                    Array.isArray(i.config.colors) &&
11380                      i.config.colors.length > 0 &&
11381                      "function" == typeof i.config.colors[0] &&
11382                      (i.globals.colors = i.config.series.map(function (t, a) {
11383                        var s = i.config.colors[a];
11384                        return (
11385                          s || (s = i.config.colors[0]),
11386                          "function" == typeof s
11387                            ? ((e.isColorFn = !0),
11388                              s({
11389                                value: i.globals.axisCharts
11390                                  ? i.globals.series[a][0]
11391                                    ? i.globals.series[a][0]
11392                                    : 0
11393                                  : i.globals.series[a],
11394                                seriesIndex: a,
11395                                dataPointIndex: a,
11396                                w: i,
11397                              }))
11398                            : s
11399                        );
11400                      }))),
11401                i.globals.seriesColors.map(function (t, e) {
11402                  t && (i.globals.colors[e] = t);
11403                }),
11404                i.config.theme.monochrome.enabled)
11405              ) {
11406                var s = [],
11407                  r = i.globals.series.length;
11408                (this.isBarDistributed || this.isHeatmapDistributed) &&
11409                  (r = i.globals.series[0].length * i.globals.series.length);
11410                for (
11411                  var o = i.config.theme.monochrome.color,
11412                    n = 1 / (r / i.config.theme.monochrome.shadeIntensity),
11413                    l = i.config.theme.monochrome.shadeTo,
11414                    h = 0,
11415                    c = 0;
11416                  c < r;
11417                  c++
11418                ) {
11419                  var d = void 0;
11420                  "dark" === l
11421                    ? ((d = a.shadeColor(-1 * h, o)), (h += n))
11422                    : ((d = a.shadeColor(h, o)), (h += n)),
11423                    s.push(d);
11424                }
11425                i.globals.colors = s.slice();
11426              }
11427              var g = i.globals.colors.slice();
11428              this.pushExtraColors(i.globals.colors);
11429              ["fill", "stroke"].forEach(function (t) {
11430                void 0 === i.config[t].colors
11431                  ? (i.globals[t].colors = e.isColorFn ? i.config.colors : g)
11432                  : (i.globals[t].colors = i.config[t].colors.slice()),
11433                  e.pushExtraColors(i.globals[t].colors);
11434              }),
11435                void 0 === i.config.dataLabels.style.colors
11436                  ? (i.globals.dataLabels.style.colors = g)
11437                  : (i.globals.dataLabels.style.colors =
11438                      i.config.dataLabels.style.colors.slice()),
11439                this.pushExtraColors(i.globals.dataLabels.style.colors, 50),
11440                void 0 === i.config.plotOptions.radar.polygons.fill.colors
11441                  ? (i.globals.radarPolygons.fill.colors = [
11442                      "dark" === i.config.theme.mode ? "#424242" : "none",
11443                    ])
11444                  : (i.globals.radarPolygons.fill.colors =
11445                      i.config.plotOptions.radar.polygons.fill.colors.slice()),
11446                this.pushExtraColors(i.globals.radarPolygons.fill.colors, 20),
11447                void 0 === i.config.markers.colors
11448                  ? (i.globals.markers.colors = g)
11449                  : (i.globals.markers.colors =
11450                      i.config.markers.colors.slice()),
11451                this.pushExtraColors(i.globals.markers.colors);
11452            },
11453          },
11454          {
11455            key: "pushExtraColors",
11456            value: function (t, e) {
11457              var i =
11458                  arguments.length > 2 && void 0 !== arguments[2]
11459                    ? arguments[2]
11460                    : null,
11461                a = this.w,
11462                s = e || a.globals.series.length;
11463              if (
11464                (null === i &&
11465                  (i =
11466                    this.isBarDistributed ||
11467                    this.isHeatmapDistributed ||
11468                    ("heatmap" === a.config.chart.type &&
11469                      a.config.plotOptions.heatmap.colorScale.inverse)),
11470                i &&
11471                  a.globals.series.length &&
11472                  (s =
11473                    a.globals.series[a.globals.maxValsInArrayIndex].length *
11474                    a.globals.series.length),
11475                t.length < s)
11476              )
11477                for (var r = s - t.length, o = 0; o < r; o++) t.push(t[o]);
11478            },
11479          },
11480          {
11481            key: "updateThemeOptions",
11482            value: function (t) {
11483              (t.chart = t.chart || {}), (t.tooltip = t.tooltip || {});
11484              var e = t.theme.mode || "light",
11485                i = t.theme.palette
11486                  ? t.theme.palette
11487                  : "dark" === e
11488                  ? "palette4"
11489                  : "palette1",
11490                a = t.chart.foreColor
11491                  ? t.chart.foreColor
11492                  : "dark" === e
11493                  ? "#f6f7f8"
11494                  : "#373d3f";
11495              return (
11496                (t.tooltip.theme = e),
11497                (t.chart.foreColor = a),
11498                (t.theme.palette = i),
11499                t
11500              );
11501            },
11502          },
11503          {
11504            key: "predefined",
11505            value: function () {
11506              switch (this.w.config.theme.palette) {
11507                case "palette1":
11508                default:
11509                  this.colors = [
11510                    "#008FFB",
11511                    "#00E396",
11512                    "#FEB019",
11513                    "#FF4560",
11514                    "#775DD0",
11515                  ];
11516                  break;
11517                case "palette2":
11518                  this.colors = [
11519                    "#3f51b5",
11520                    "#03a9f4",
11521                    "#4caf50",
11522                    "#f9ce1d",
11523                    "#FF9800",
11524                  ];
11525                  break;
11526                case "palette3":
11527                  this.colors = [
11528                    "#33b2df",
11529                    "#546E7A",
11530                    "#d4526e",
11531                    "#13d8aa",
11532                    "#A5978B",
11533                  ];
11534                  break;
11535                case "palette4":
11536                  this.colors = [
11537                    "#4ecdc4",
11538                    "#c7f464",
11539                    "#81D4FA",
11540                    "#fd6a6a",
11541                    "#546E7A",
11542                  ];
11543                  break;
11544                case "palette5":
11545                  this.colors = [
11546                    "#2b908f",
11547                    "#f9a3a4",
11548                    "#90ee7e",
11549                    "#fa4443",
11550                    "#69d2e7",
11551                  ];
11552                  break;
11553                case "palette6":
11554                  this.colors = [
11555                    "#449DD1",
11556                    "#F86624",
11557                    "#EA3546",
11558                    "#662E9B",
11559                    "#C5D86D",
11560                  ];
11561                  break;
11562                case "palette7":
11563                  this.colors = [
11564                    "#D7263D",
11565                    "#1B998B",
11566                    "#2E294E",
11567                    "#F46036",
11568                    "#E2C044",
11569                  ];
11570                  break;
11571                case "palette8":
11572                  this.colors = [
11573                    "#662E9B",
11574                    "#F86624",
11575                    "#F9C80E",
11576                    "#EA3546",
11577                    "#43BCCD",
11578                  ];
11579                  break;
11580                case "palette9":
11581                  this.colors = [
11582                    "#5C4742",
11583                    "#A5978B",
11584                    "#8D5B4C",
11585                    "#5A2A27",
11586                    "#C4BBAF",
11587                  ];
11588                  break;
11589                case "palette10":
11590                  this.colors = [
11591                    "#A300D6",
11592                    "#7D02EB",
11593                    "#5653FE",
11594                    "#2983FF",
11595                    "#00B1F2",
11596                  ];
11597              }
11598              return this.colors;
11599            },
11600          },
11601        ]),
11602        t
11603      );
11604    })(),
11605    et = (function () {
11606      function t(e) {
11607        a(this, t), (this.ctx = e), (this.w = e.w);
11608      }
11609      return (
11610        r(t, [
11611          {
11612            key: "draw",
11613            value: function () {
11614              this.drawTitleSubtitle("title"),
11615                this.drawTitleSubtitle("subtitle");
11616            },
11617          },
11618          {
11619            key: "drawTitleSubtitle",
11620            value: function (t) {
11621              var e = this.w,
11622                i = "title" === t ? e.config.title : e.config.subtitle,
11623                a = e.globals.svgWidth / 2,
11624                s = i.offsetY,
11625                r = "middle";
11626              if (
11627                ("left" === i.align
11628                  ? ((a = 10), (r = "start"))
11629                  : "right" === i.align &&
11630                    ((a = e.globals.svgWidth - 10), (r = "end")),
11631                (a += i.offsetX),
11632                (s = s + parseInt(i.style.fontSize, 10) + i.margin / 2),
11633                void 0 !== i.text)
11634              ) {
11635                var o = new m(this.ctx).drawText({
11636                  x: a,
11637                  y: s,
11638                  text: i.text,
11639                  textAnchor: r,
11640                  fontSize: i.style.fontSize,
11641                  fontFamily: i.style.fontFamily,
11642                  fontWeight: i.style.fontWeight,
11643                  foreColor: i.style.color,
11644                  opacity: 1,
11645                });
11646                o.node.setAttribute("class", "apexcharts-".concat(t, "-text")),
11647                  e.globals.dom.Paper.add(o);
11648              }
11649            },
11650          },
11651        ]),
11652        t
11653      );
11654    })(),
11655    it = (function () {
11656      function t(e) {
11657        a(this, t), (this.w = e.w), (this.dCtx = e);
11658      }
11659      return (
11660        r(t, [
11661          {
11662            key: "getTitleSubtitleCoords",
11663            value: function (t) {
11664              var e = this.w,
11665                i = 0,
11666                a = 0,
11667                s =
11668                  "title" === t
11669                    ? e.config.title.floating
11670                    : e.config.subtitle.floating,
11671                r = e.globals.dom.baseEl.querySelector(
11672                  ".apexcharts-".concat(t, "-text")
11673                );
11674              if (null !== r && !s) {
11675                var o = r.getBoundingClientRect();
11676                (i = o.width),
11677                  (a = e.globals.axisCharts ? o.height + 5 : o.height);
11678              }
11679              return { width: i, height: a };
11680            },
11681          },
11682          {
11683            key: "getLegendsRect",
11684            value: function () {
11685              var t = this.w,
11686                e = t.globals.dom.elLegendWrap;
11687              t.config.legend.height ||
11688                ("top" !== t.config.legend.position &&
11689                  "bottom" !== t.config.legend.position) ||
11690                (e.style.maxHeight = t.globals.svgHeight / 2 + "px");
11691              var i = Object.assign({}, x.getBoundingClientRect(e));
11692              return (
11693                null !== e && !t.config.legend.floating && t.config.legend.show
11694                  ? (this.dCtx.lgRect = {
11695                      x: i.x,
11696                      y: i.y,
11697                      height: i.height,
11698                      width: 0 === i.height ? 0 : i.width,
11699                    })
11700                  : (this.dCtx.lgRect = { x: 0, y: 0, height: 0, width: 0 }),
11701                ("left" !== t.config.legend.position &&
11702                  "right" !== t.config.legend.position) ||
11703                  (1.5 * this.dCtx.lgRect.width > t.globals.svgWidth &&
11704                    (this.dCtx.lgRect.width = t.globals.svgWidth / 1.5)),
11705                this.dCtx.lgRect
11706              );
11707            },
11708          },
11709          {
11710            key: "getLargestStringFromMultiArr",
11711            value: function (t, e) {
11712              var i = t;
11713              if (this.w.globals.isMultiLineX) {
11714                var a = e.map(function (t, e) {
11715                    return Array.isArray(t) ? t.length : 1;
11716                  }),
11717                  s = Math.max.apply(Math, u(a));
11718                i = e[a.indexOf(s)];
11719              }
11720              return i;
11721            },
11722          },
11723        ]),
11724        t
11725      );
11726    })(),
11727    at = (function () {
11728      function t(e) {
11729        a(this, t), (this.w = e.w), (this.dCtx = e);
11730      }
11731      return (
11732        r(t, [
11733          {
11734            key: "getxAxisLabelsCoords",
11735            value: function () {
11736              var t,
11737                e = this.w,
11738                i = e.globals.labels.slice();
11739              if (
11740                (e.config.xaxis.convertedCatToNumeric &&
11741                  0 === i.length &&
11742                  (i = e.globals.categoryLabels),
11743                e.globals.timescaleLabels.length > 0)
11744              ) {
11745                var a = this.getxAxisTimeScaleLabelsCoords();
11746                (t = { width: a.width, height: a.height }),
11747                  (e.globals.rotateXLabels = !1);
11748              } else {
11749                this.dCtx.lgWidthForSideLegends =
11750                  ("left" !== e.config.legend.position &&
11751                    "right" !== e.config.legend.position) ||
11752                  e.config.legend.floating
11753                    ? 0
11754                    : this.dCtx.lgRect.width;
11755                var s = e.globals.xLabelFormatter,
11756                  r = x.getLargestStringFromArr(i),
11757                  o = this.dCtx.dimHelpers.getLargestStringFromMultiArr(r, i);
11758                e.globals.isBarHorizontal &&
11759                  (o = r =
11760                    e.globals.yAxisScale[0].result.reduce(function (t, e) {
11761                      return t.length > e.length ? t : e;
11762                    }, 0));
11763                var n = new M(this.dCtx.ctx),
11764                  l = r;
11765                (r = n.xLabelFormat(s, r, l, {
11766                  i: void 0,
11767                  dateFormatter: new I(this.dCtx.ctx).formatDate,
11768                  w: e,
11769                })),
11770                  (o = n.xLabelFormat(s, o, l, {
11771                    i: void 0,
11772                    dateFormatter: new I(this.dCtx.ctx).formatDate,
11773                    w: e,
11774                  })),
11775                  ((e.config.xaxis.convertedCatToNumeric && void 0 === r) ||
11776                    "" === String(r).trim()) &&
11777                    (o = r = "1");
11778                var h = new m(this.dCtx.ctx),
11779                  c = h.getTextRects(r, e.config.xaxis.labels.style.fontSize),
11780                  d = c;
11781                if (
11782                  (r !== o &&
11783                    (d = h.getTextRects(
11784                      o,
11785                      e.config.xaxis.labels.style.fontSize
11786                    )),
11787                  ((t = {
11788                    width: c.width >= d.width ? c.width : d.width,
11789                    height: c.height >= d.height ? c.height : d.height,
11790                  }).width *
11791                    i.length >
11792                    e.globals.svgWidth -
11793                      this.dCtx.lgWidthForSideLegends -
11794                      this.dCtx.yAxisWidth -
11795                      this.dCtx.gridPad.left -
11796                      this.dCtx.gridPad.right &&
11797                    0 !== e.config.xaxis.labels.rotate) ||
11798                    e.config.xaxis.labels.rotateAlways)
11799                ) {
11800                  if (!e.globals.isBarHorizontal) {
11801                    e.globals.rotateXLabels = !0;
11802                    var g = function (t) {
11803                      return h.getTextRects(
11804                        t,
11805                        e.config.xaxis.labels.style.fontSize,
11806                        e.config.xaxis.labels.style.fontFamily,
11807                        "rotate(".concat(e.config.xaxis.labels.rotate, " 0 0)"),
11808                        !1
11809                      );
11810                    };
11811                    (c = g(r)),
11812                      r !== o && (d = g(o)),
11813                      (t.height =
11814                        (c.height > d.height ? c.height : d.height) / 1.5),
11815                      (t.width = c.width > d.width ? c.width : d.width);
11816                  }
11817                } else e.globals.rotateXLabels = !1;
11818              }
11819              return (
11820                e.config.xaxis.labels.show || (t = { width: 0, height: 0 }),
11821                { width: t.width, height: t.height }
11822              );
11823            },
11824          },
11825          {
11826            key: "getxAxisGroupLabelsCoords",
11827            value: function () {
11828              var t,
11829                e = this.w;
11830              if (!e.globals.hasXaxisGroups) return { width: 0, height: 0 };
11831              var i,
11832                a =
11833                  (null === (t = e.config.xaxis.group.style) || void 0 === t
11834                    ? void 0
11835                    : t.fontSize) || e.config.xaxis.labels.style.fontSize,
11836                s = e.globals.groups.map(function (t) {
11837                  return t.title;
11838                }),
11839                r = x.getLargestStringFromArr(s),
11840                o = this.dCtx.dimHelpers.getLargestStringFromMultiArr(r, s),
11841                n = new m(this.dCtx.ctx),
11842                l = n.getTextRects(r, a),
11843                h = l;
11844              return (
11845                r !== o && (h = n.getTextRects(o, a)),
11846                (i = {
11847                  width: l.width >= h.width ? l.width : h.width,
11848                  height: l.height >= h.height ? l.height : h.height,
11849                }),
11850                e.config.xaxis.labels.show || (i = { width: 0, height: 0 }),
11851                { width: i.width, height: i.height }
11852              );
11853            },
11854          },
11855          {
11856            key: "getxAxisTitleCoords",
11857            value: function () {
11858              var t = this.w,
11859                e = 0,
11860                i = 0;
11861              if (void 0 !== t.config.xaxis.title.text) {
11862                var a = new m(this.dCtx.ctx).getTextRects(
11863                  t.config.xaxis.title.text,
11864                  t.config.xaxis.title.style.fontSize
11865                );
11866                (e = a.width), (i = a.height);
11867              }
11868              return { width: e, height: i };
11869            },
11870          },
11871          {
11872            key: "getxAxisTimeScaleLabelsCoords",
11873            value: function () {
11874              var t,
11875                e = this.w;
11876              this.dCtx.timescaleLabels = e.globals.timescaleLabels.slice();
11877              var i = this.dCtx.timescaleLabels.map(function (t) {
11878                  return t.value;
11879                }),
11880                a = i.reduce(function (t, e) {
11881                  return void 0 === t
11882                    ? (console.error(
11883                        "You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"
11884                      ),
11885                      0)
11886                    : t.length > e.length
11887                    ? t
11888                    : e;
11889                }, 0);
11890              return (
11891                1.05 *
11892                  (t = new m(this.dCtx.ctx).getTextRects(
11893                    a,
11894                    e.config.xaxis.labels.style.fontSize
11895                  )).width *
11896                  i.length >
11897                  e.globals.gridWidth &&
11898                  0 !== e.config.xaxis.labels.rotate &&
11899                  (e.globals.overlappingXLabels = !0),
11900                t
11901              );
11902            },
11903          },
11904          {
11905            key: "additionalPaddingXLabels",
11906            value: function (t) {
11907              var e = this,
11908                i = this.w,
11909                a = i.globals,
11910                s = i.config,
11911                r = s.xaxis.type,
11912                o = t.width;
11913              (a.skipLastTimelinelabel = !1), (a.skipFirstTimelinelabel = !1);
11914              var n = i.config.yaxis[0].opposite && i.globals.isBarHorizontal,
11915                l = function (t, n) {
11916                  (s.yaxis.length > 1 &&
11917                    (function (t) {
11918                      return -1 !== a.collapsedSeriesIndices.indexOf(t);
11919                    })(n)) ||
11920                    (function (t) {
11921                      if (
11922                        e.dCtx.timescaleLabels &&
11923                        e.dCtx.timescaleLabels.length
11924                      ) {
11925                        var n = e.dCtx.timescaleLabels[0],
11926                          l =
11927                            e.dCtx.timescaleLabels[
11928                              e.dCtx.timescaleLabels.length - 1
11929                            ].position +
11930                            o / 1.75 -
11931                            e.dCtx.yAxisWidthRight,
11932                          h = n.position - o / 1.75 + e.dCtx.yAxisWidthLeft,
11933                          c =
11934                            "right" === i.config.legend.position &&
11935                            e.dCtx.lgRect.width > 0
11936                              ? e.dCtx.lgRect.width
11937                              : 0;
11938                        l > a.svgWidth - a.translateX - c &&
11939                          (a.skipLastTimelinelabel = !0),
11940                          h <
11941                            -((t.show && !t.floating) ||
11942                            ("bar" !== s.chart.type &&
11943                              "candlestick" !== s.chart.type &&
11944                              "rangeBar" !== s.chart.type &&
11945                              "boxPlot" !== s.chart.type)
11946                              ? 10
11947                              : o / 1.75) && (a.skipFirstTimelinelabel = !0);
11948                      } else
11949                        "datetime" === r
11950                          ? e.dCtx.gridPad.right < o &&
11951                            !a.rotateXLabels &&
11952                            (a.skipLastTimelinelabel = !0)
11953                          : "datetime" !== r &&
11954                            e.dCtx.gridPad.right <
11955                              o / 2 - e.dCtx.yAxisWidthRight &&
11956                            !a.rotateXLabels &&
11957                            !i.config.xaxis.labels.trim &&
11958                            ("between" !== i.config.xaxis.tickPlacement ||
11959                              i.globals.isBarHorizontal) &&
11960                            (e.dCtx.xPadRight = o / 2 + 1);
11961                    })(t);
11962                };
11963              s.yaxis.forEach(function (t, i) {
11964                n
11965                  ? (e.dCtx.gridPad.left < o && (e.dCtx.xPadLeft = o / 2 + 1),
11966                    (e.dCtx.xPadRight = o / 2 + 1))
11967                  : l(t, i);
11968              });
11969            },
11970          },
11971        ]),
11972        t
11973      );
11974    })(),
11975    st = (function () {
11976      function t(e) {
11977        a(this, t), (this.w = e.w), (this.dCtx = e);
11978      }
11979      return (
11980        r(t, [
11981          {
11982            key: "getyAxisLabelsCoords",
11983            value: function () {
11984              var t = this,
11985                e = this.w,
11986                i = [],
11987                a = 10,
11988                s = new B(this.dCtx.ctx);
11989              return (
11990                e.config.yaxis.map(function (r, o) {
11991                  var n = { seriesIndex: o, dataPointIndex: -1, w: e },
11992                    l = e.globals.yAxisScale[o],
11993                    h = 0;
11994                  if (
11995                    (!s.isYAxisHidden(o) &&
11996                      r.labels.show &&
11997                      void 0 !== r.labels.minWidth &&
11998                      (h = r.labels.minWidth),
11999                    !s.isYAxisHidden(o) && r.labels.show && l.result.length)
12000                  ) {
12001                    var c = e.globals.yLabelFormatters[o],
12002                      d = l.niceMin === Number.MIN_VALUE ? 0 : l.niceMin,
12003                      g = l.result.reduce(function (t, e) {
12004                        var i, a;
12005                        return (null === (i = String(c(t, n))) || void 0 === i
12006                          ? void 0
12007                          : i.length) >
12008                          (null === (a = String(c(e, n))) || void 0 === a
12009                            ? void 0
12010                            : a.length)
12011                          ? t
12012                          : e;
12013                      }, d),
12014                      u = (g = c(g, n));
12015                    if (
12016                      ((void 0 !== g && 0 !== g.length) || (g = l.niceMax),
12017                      e.globals.isBarHorizontal)
12018                    ) {
12019                      a = 0;
12020                      var p = e.globals.labels.slice();
12021                      (g = x.getLargestStringFromArr(p)),
12022                        (g = c(g, {
12023                          seriesIndex: o,
12024                          dataPointIndex: -1,
12025                          w: e,
12026                        })),
12027                        (u = t.dCtx.dimHelpers.getLargestStringFromMultiArr(
12028                          g,
12029                          p
12030                        ));
12031                    }
12032                    var f = new m(t.dCtx.ctx),
12033                      b = "rotate(".concat(r.labels.rotate, " 0 0)"),
12034                      v = f.getTextRects(
12035                        g,
12036                        r.labels.style.fontSize,
12037                        r.labels.style.fontFamily,
12038                        b,
12039                        !1
12040                      ),
12041                      y = v;
12042                    g !== u &&
12043                      (y = f.getTextRects(
12044                        u,
12045                        r.labels.style.fontSize,
12046                        r.labels.style.fontFamily,
12047                        b,
12048                        !1
12049                      )),
12050                      i.push({
12051                        width:
12052                          (h > y.width || h > v.width
12053                            ? h
12054                            : y.width > v.width
12055                            ? y.width
12056                            : v.width) + a,
12057                        height: y.height > v.height ? y.height : v.height,
12058                      });
12059                  } else i.push({ width: 0, height: 0 });
12060                }),
12061                i
12062              );
12063            },
12064          },
12065          {
12066            key: "getyAxisTitleCoords",
12067            value: function () {
12068              var t = this,
12069                e = this.w,
12070                i = [];
12071              return (
12072                e.config.yaxis.map(function (e, a) {
12073                  if (e.show && void 0 !== e.title.text) {
12074                    var s = new m(t.dCtx.ctx),
12075                      r = "rotate(".concat(e.title.rotate, " 0 0)"),
12076                      o = s.getTextRects(
12077                        e.title.text,
12078                        e.title.style.fontSize,
12079                        e.title.style.fontFamily,
12080                        r,
12081                        !1
12082                      );
12083                    i.push({ width: o.width, height: o.height });
12084                  } else i.push({ width: 0, height: 0 });
12085                }),
12086                i
12087              );
12088            },
12089          },
12090          {
12091            key: "getTotalYAxisWidth",
12092            value: function () {
12093              var t = this.w,
12094                e = 0,
12095                i = 0,
12096                a = 0,
12097                s = t.globals.yAxisScale.length > 1 ? 10 : 0,
12098                r = new B(this.dCtx.ctx),
12099                o = function (o, n) {
12100                  var l = t.config.yaxis[n].floating,
12101                    h = 0;
12102                  o.width > 0 && !l
12103                    ? ((h = o.width + s),
12104                      (function (e) {
12105                        return t.globals.ignoreYAxisIndexes.indexOf(e) > -1;
12106                      })(n) && (h = h - o.width - s))
12107                    : (h = l || r.isYAxisHidden(n) ? 0 : 5),
12108                    t.config.yaxis[n].opposite ? (a += h) : (i += h),
12109                    (e += h);
12110                };
12111              return (
12112                t.globals.yLabelsCoords.map(function (t, e) {
12113                  o(t, e);
12114                }),
12115                t.globals.yTitleCoords.map(function (t, e) {
12116                  o(t, e);
12117                }),
12118                t.globals.isBarHorizontal &&
12119                  !t.config.yaxis[0].floating &&
12120                  (e =
12121                    t.globals.yLabelsCoords[0].width +
12122                    t.globals.yTitleCoords[0].width +
12123                    15),
12124                (this.dCtx.yAxisWidthLeft = i),
12125                (this.dCtx.yAxisWidthRight = a),
12126                e
12127              );
12128            },
12129          },
12130        ]),
12131        t
12132      );
12133    })(),
12134    rt = (function () {
12135      function t(e) {
12136        a(this, t), (this.w = e.w), (this.dCtx = e);
12137      }
12138      return (
12139        r(t, [
12140          {
12141            key: "gridPadForColumnsInNumericAxis",
12142            value: function (t) {
12143              var e = this.w;
12144              if (e.globals.noData || e.globals.allSeriesCollapsed) return 0;
12145              var i = function (t) {
12146                  return (
12147                    "bar" === t ||
12148                    "rangeBar" === t ||
12149                    "candlestick" === t ||
12150                    "boxPlot" === t
12151                  );
12152                },
12153                a = e.config.chart.type,
12154                s = 0,
12155                r = i(a) ? e.config.series.length : 1;
12156              if (
12157                (e.globals.comboBarCount > 0 && (r = e.globals.comboBarCount),
12158                e.globals.collapsedSeries.forEach(function (t) {
12159                  i(t.type) && (r -= 1);
12160                }),
12161                e.config.chart.stacked && (r = 1),
12162                (i(a) || e.globals.comboBarCount > 0) &&
12163                  e.globals.isXNumeric &&
12164                  !e.globals.isBarHorizontal &&
12165                  r > 0)
12166              ) {
12167                var o,
12168                  n,
12169                  l = Math.abs(e.globals.initialMaxX - e.globals.initialMinX);
12170                l <= 3 && (l = e.globals.dataPoints),
12171                  (o = l / t),
12172                  e.globals.minXDiff &&
12173                    e.globals.minXDiff / o > 0 &&
12174                    (n = e.globals.minXDiff / o),
12175                  n > t / 2 && (n /= 2),
12176                  (s =
12177                    (n * parseInt(e.config.plotOptions.bar.columnWidth, 10)) /
12178                    100) < 1 && (s = 1),
12179                  (e.globals.barPadForNumericAxis = s);
12180              }
12181              return s;
12182            },
12183          },
12184          {
12185            key: "gridPadFortitleSubtitle",
12186            value: function () {
12187              var t = this,
12188                e = this.w,
12189                i = e.globals,
12190                a = this.dCtx.isSparkline || !e.globals.axisCharts ? 0 : 10;
12191              ["title", "subtitle"].forEach(function (i) {
12192                void 0 !== e.config[i].text
12193                  ? (a += e.config[i].margin)
12194                  : (a += t.dCtx.isSparkline || !e.globals.axisCharts ? 0 : 5);
12195              }),
12196                !e.config.legend.show ||
12197                  "bottom" !== e.config.legend.position ||
12198                  e.config.legend.floating ||
12199                  e.globals.axisCharts ||
12200                  (a += 10);
12201              var s = this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),
12202                r = this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");
12203              (i.gridHeight = i.gridHeight - s.height - r.height - a),
12204                (i.translateY = i.translateY + s.height + r.height + a);
12205            },
12206          },
12207          {
12208            key: "setGridXPosForDualYAxis",
12209            value: function (t, e) {
12210              var i = this.w,
12211                a = new B(this.dCtx.ctx);
12212              i.config.yaxis.map(function (s, r) {
12213                -1 !== i.globals.ignoreYAxisIndexes.indexOf(r) ||
12214                  s.floating ||
12215                  a.isYAxisHidden(r) ||
12216                  (s.opposite &&
12217                    (i.globals.translateX =
12218                      i.globals.translateX -
12219                      (e[r].width + t[r].width) -
12220                      parseInt(i.config.yaxis[r].labels.style.fontSize, 10) /
12221                        1.2 -
12222                      12),
12223                  i.globals.translateX < 2 && (i.globals.translateX = 2));
12224              });
12225            },
12226          },
12227        ]),
12228        t
12229      );
12230    })(),
12231    ot = (function () {
12232      function t(e) {
12233        a(this, t),
12234          (this.ctx = e),
12235          (this.w = e.w),
12236          (this.lgRect = {}),
12237          (this.yAxisWidth = 0),
12238          (this.yAxisWidthLeft = 0),
12239          (this.yAxisWidthRight = 0),
12240          (this.xAxisHeight = 0),
12241          (this.isSparkline = this.w.config.chart.sparkline.enabled),
12242          (this.dimHelpers = new it(this)),
12243          (this.dimYAxis = new st(this)),
12244          (this.dimXAxis = new at(this)),
12245          (this.dimGrid = new rt(this)),
12246          (this.lgWidthForSideLegends = 0),
12247          (this.gridPad = this.w.config.grid.padding),
12248          (this.xPadRight = 0),
12249          (this.xPadLeft = 0);
12250      }
12251      return (
12252        r(t, [
12253          {
12254            key: "plotCoords",
12255            value: function () {
12256              var t = this,
12257                e = this.w,
12258                i = e.globals;
12259              (this.lgRect = this.dimHelpers.getLegendsRect()),
12260                this.isSparkline &&
12261                  ((e.config.markers.discrete.length > 0 ||
12262                    e.config.markers.size > 0) &&
12263                    Object.entries(this.gridPad).forEach(function (e) {
12264                      var i = g(e, 2),
12265                        a = i[0],
12266                        s = i[1];
12267                      t.gridPad[a] = Math.max(
12268                        s,
12269                        t.w.globals.markers.largestSize / 1.5
12270                      );
12271                    }),
12272                  (this.gridPad.top = Math.max(
12273                    e.config.stroke.width / 2,
12274                    this.gridPad.top
12275                  )),
12276                  (this.gridPad.bottom = Math.max(
12277                    e.config.stroke.width / 2,
12278                    this.gridPad.bottom
12279                  ))),
12280                i.axisCharts
12281                  ? this.setDimensionsForAxisCharts()
12282                  : this.setDimensionsForNonAxisCharts(),
12283                this.dimGrid.gridPadFortitleSubtitle(),
12284                (i.gridHeight =
12285                  i.gridHeight - this.gridPad.top - this.gridPad.bottom),
12286                (i.gridWidth =
12287                  i.gridWidth -
12288                  this.gridPad.left -
12289                  this.gridPad.right -
12290                  this.xPadRight -
12291                  this.xPadLeft);
12292              var a = this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);
12293              (i.gridWidth = i.gridWidth - 2 * a),
12294                (i.translateX =
12295                  i.translateX +
12296                  this.gridPad.left +
12297                  this.xPadLeft +
12298                  (a > 0 ? a + 4 : 0)),
12299                (i.translateY = i.translateY + this.gridPad.top);
12300            },
12301          },
12302          {
12303            key: "setDimensionsForAxisCharts",
12304            value: function () {
12305              var t = this,
12306                e = this.w,
12307                i = e.globals,
12308                a = this.dimYAxis.getyAxisLabelsCoords(),
12309                s = this.dimYAxis.getyAxisTitleCoords();
12310              (e.globals.yLabelsCoords = []),
12311                (e.globals.yTitleCoords = []),
12312                e.config.yaxis.map(function (t, i) {
12313                  e.globals.yLabelsCoords.push({ width: a[i].width, index: i }),
12314                    e.globals.yTitleCoords.push({
12315                      width: s[i].width,
12316                      index: i,
12317                    });
12318                }),
12319                (this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth());
12320              var r = this.dimXAxis.getxAxisLabelsCoords(),
12321                o = this.dimXAxis.getxAxisGroupLabelsCoords(),
12322                n = this.dimXAxis.getxAxisTitleCoords();
12323              this.conditionalChecksForAxisCoords(r, n, o),
12324                (i.translateXAxisY = e.globals.rotateXLabels
12325                  ? this.xAxisHeight / 8
12326                  : -4),
12327                (i.translateXAxisX =
12328                  e.globals.rotateXLabels &&
12329                  e.globals.isXNumeric &&
12330                  e.config.xaxis.labels.rotate <= -45
12331                    ? -this.xAxisWidth / 4
12332                    : 0),
12333                e.globals.isBarHorizontal &&
12334                  ((i.rotateXLabels = !1),
12335                  (i.translateXAxisY =
12336                    (parseInt(e.config.xaxis.labels.style.fontSize, 10) / 1.5) *
12337                    -1)),
12338                (i.translateXAxisY =
12339                  i.translateXAxisY + e.config.xaxis.labels.offsetY),
12340                (i.translateXAxisX =
12341                  i.translateXAxisX + e.config.xaxis.labels.offsetX);
12342              var l = this.yAxisWidth,
12343                h = this.xAxisHeight;
12344              (i.xAxisLabelsHeight = this.xAxisHeight - n.height),
12345                (i.xAxisGroupLabelsHeight = i.xAxisLabelsHeight - r.height),
12346                (i.xAxisLabelsWidth = this.xAxisWidth),
12347                (i.xAxisHeight = this.xAxisHeight);
12348              var c = 10;
12349              ("radar" === e.config.chart.type || this.isSparkline) &&
12350                ((l = 0), (h = i.goldenPadding)),
12351                this.isSparkline && (this.lgRect = { height: 0, width: 0 }),
12352                (this.isSparkline || "treemap" === e.config.chart.type) &&
12353                  ((l = 0), (h = 0), (c = 0)),
12354                this.isSparkline || this.dimXAxis.additionalPaddingXLabels(r);
12355              var d = function () {
12356                (i.translateX = l),
12357                  (i.gridHeight =
12358                    i.svgHeight -
12359                    t.lgRect.height -
12360                    h -
12361                    (t.isSparkline || "treemap" === e.config.chart.type
12362                      ? 0
12363                      : e.globals.rotateXLabels
12364                      ? 10
12365                      : 15)),
12366                  (i.gridWidth = i.svgWidth - l);
12367              };
12368              switch (
12369                ("top" === e.config.xaxis.position &&
12370                  (c = i.xAxisHeight - e.config.xaxis.axisTicks.height - 5),
12371                e.config.legend.position)
12372              ) {
12373                case "bottom":
12374                  (i.translateY = c), d();
12375                  break;
12376                case "top":
12377                  (i.translateY = this.lgRect.height + c), d();
12378                  break;
12379                case "left":
12380                  (i.translateY = c),
12381                    (i.translateX = this.lgRect.width + l),
12382                    (i.gridHeight = i.svgHeight - h - 12),
12383                    (i.gridWidth = i.svgWidth - this.lgRect.width - l);
12384                  break;
12385                case "right":
12386                  (i.translateY = c),
12387                    (i.translateX = l),
12388                    (i.gridHeight = i.svgHeight - h - 12),
12389                    (i.gridWidth = i.svgWidth - this.lgRect.width - l - 5);
12390                  break;
12391                default:
12392                  throw new Error("Legend position not supported");
12393              }
12394              this.dimGrid.setGridXPosForDualYAxis(s, a),
12395                new q(this.ctx).setYAxisXPosition(a, s);
12396            },
12397          },
12398          {
12399            key: "setDimensionsForNonAxisCharts",
12400            value: function () {
12401              var t = this.w,
12402                e = t.globals,
12403                i = t.config,
12404                a = 0;
12405              t.config.legend.show && !t.config.legend.floating && (a = 20);
12406              var s =
12407                  "pie" === i.chart.type ||
12408                  "polarArea" === i.chart.type ||
12409                  "donut" === i.chart.type
12410                    ? "pie"
12411                    : "radialBar",
12412                r = i.plotOptions[s].offsetY,
12413                o = i.plotOptions[s].offsetX;
12414              if (!i.legend.show || i.legend.floating)
12415                return (
12416                  (e.gridHeight =
12417                    e.svgHeight - i.grid.padding.left + i.grid.padding.right),
12418                  (e.gridWidth = e.gridHeight),
12419                  (e.translateY = r),
12420                  void (e.translateX = o + (e.svgWidth - e.gridWidth) / 2)
12421                );
12422              switch (i.legend.position) {
12423                case "bottom":
12424                  (e.gridHeight =
12425                    e.svgHeight - this.lgRect.height - e.goldenPadding),
12426                    (e.gridWidth = e.svgWidth),
12427                    (e.translateY = r - 10),
12428                    (e.translateX = o + (e.svgWidth - e.gridWidth) / 2);
12429                  break;
12430                case "top":
12431                  (e.gridHeight =
12432                    e.svgHeight - this.lgRect.height - e.goldenPadding),
12433                    (e.gridWidth = e.svgWidth),
12434                    (e.translateY = this.lgRect.height + r + 10),
12435                    (e.translateX = o + (e.svgWidth - e.gridWidth) / 2);
12436                  break;
12437                case "left":
12438                  (e.gridWidth = e.svgWidth - this.lgRect.width - a),
12439                    (e.gridHeight =
12440                      "auto" !== i.chart.height ? e.svgHeight : e.gridWidth),
12441                    (e.translateY = r),
12442                    (e.translateX = o + this.lgRect.width + a);
12443                  break;
12444                case "right":
12445                  (e.gridWidth = e.svgWidth - this.lgRect.width - a - 5),
12446                    (e.gridHeight =
12447                      "auto" !== i.chart.height ? e.svgHeight : e.gridWidth),
12448                    (e.translateY = r),
12449                    (e.translateX = o + 10);
12450                  break;
12451                default:
12452                  throw new Error("Legend position not supported");
12453              }
12454            },
12455          },
12456          {
12457            key: "conditionalChecksForAxisCoords",
12458            value: function (t, e, i) {
12459              var a = this.w,
12460                s = a.globals.hasXaxisGroups ? 2 : 1,
12461                r = i.height + t.height + e.height,
12462                o = a.globals.isMultiLineX ? 1.2 : a.globals.LINE_HEIGHT_RATIO,
12463                n = a.globals.rotateXLabels ? 22 : 10,
12464                l =
12465                  a.globals.rotateXLabels &&
12466                  "bottom" === a.config.legend.position
12467                    ? 10
12468                    : 0;
12469              (this.xAxisHeight = r * o + s * n + l),
12470                (this.xAxisWidth = t.width),
12471                this.xAxisHeight - e.height > a.config.xaxis.labels.maxHeight &&
12472                  (this.xAxisHeight = a.config.xaxis.labels.maxHeight),
12473                a.config.xaxis.labels.minHeight &&
12474                  this.xAxisHeight < a.config.xaxis.labels.minHeight &&
12475                  (this.xAxisHeight = a.config.xaxis.labels.minHeight),
12476                a.config.xaxis.floating && (this.xAxisHeight = 0);
12477              var h = 0,
12478                c = 0;
12479              a.config.yaxis.forEach(function (t) {
12480                (h += t.labels.minWidth), (c += t.labels.maxWidth);
12481              }),
12482                this.yAxisWidth < h && (this.yAxisWidth = h),
12483                this.yAxisWidth > c && (this.yAxisWidth = c);
12484            },
12485          },
12486        ]),
12487        t
12488      );
12489    })(),
12490    nt = (function () {
12491      function t(e) {
12492        a(this, t), (this.w = e.w), (this.lgCtx = e);
12493      }
12494      return (
12495        r(t, [
12496          {
12497            key: "getLegendStyles",
12498            value: function () {
12499              var t,
12500                e,
12501                i,
12502                a = document.createElement("style");
12503              a.setAttribute("type", "text/css");
12504              var s =
12505                (null === (t = this.lgCtx.ctx) ||
12506                void 0 === t ||
12507                null === (e = t.opts) ||
12508                void 0 === e ||
12509                null === (i = e.chart) ||
12510                void 0 === i
12511                  ? void 0
12512                  : i.nonce) || this.w.config.chart.nonce;
12513              s && a.setAttribute("nonce", s);
12514              var r = document.createTextNode(
12515                "\n      .apexcharts-legend {\n        display: flex;\n        overflow: auto;\n        padding: 0 10px;\n      }\n      .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n        flex-wrap: wrap\n      }\n      .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n        flex-direction: column;\n        bottom: 0;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n        justify-content: flex-start;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n        justify-content: center;\n      }\n      .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n        justify-content: flex-end;\n      }\n      .apexcharts-legend-series {\n        cursor: pointer;\n        line-height: normal;\n      }\n      .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\n        display: flex;\n        align-items: center;\n      }\n      .apexcharts-legend-text {\n        position: relative;\n        font-size: 14px;\n      }\n      .apexcharts-legend-text *, .apexcharts-legend-marker * {\n        pointer-events: none;\n      }\n      .apexcharts-legend-marker {\n        position: relative;\n        display: inline-block;\n        cursor: pointer;\n        margin-right: 3px;\n        border-style: solid;\n      }\n\n      .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\n        display: inline-block;\n      }\n      .apexcharts-legend-series.apexcharts-no-click {\n        cursor: auto;\n      }\n      .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n        display: none !important;\n      }\n      .apexcharts-inactive-legend {\n        opacity: 0.45;\n      }"
12516              );
12517              return a.appendChild(r), a;
12518            },
12519          },
12520          {
12521            key: "getLegendBBox",
12522            value: function () {
12523              var t = this.w.globals.dom.baseEl
12524                  .querySelector(".apexcharts-legend")
12525                  .getBoundingClientRect(),
12526                e = t.width;
12527              return { clwh: t.height, clww: e };
12528            },
12529          },
12530          {
12531            key: "appendToForeignObject",
12532            value: function () {
12533              this.w.globals.dom.elLegendForeign.appendChild(
12534                this.getLegendStyles()
12535              );
12536            },
12537          },
12538          {
12539            key: "toggleDataSeries",
12540            value: function (t, e) {
12541              var i = this,
12542                a = this.w;
12543              if (a.globals.axisCharts || "radialBar" === a.config.chart.type) {
12544                a.globals.resized = !0;
12545                var s = null,
12546                  r = null;
12547                if (
12548                  ((a.globals.risingSeries = []),
12549                  a.globals.axisCharts
12550                    ? ((s = a.globals.dom.baseEl.querySelector(
12551                        ".apexcharts-series[data\\:realIndex='".concat(t, "']")
12552                      )),
12553                      (r = parseInt(s.getAttribute("data:realIndex"), 10)))
12554                    : ((s = a.globals.dom.baseEl.querySelector(
12555                        ".apexcharts-series[rel='".concat(t + 1, "']")
12556                      )),
12557                      (r = parseInt(s.getAttribute("rel"), 10) - 1)),
12558                  e)
12559                )
12560                  [
12561                    {
12562                      cs: a.globals.collapsedSeries,
12563                      csi: a.globals.collapsedSeriesIndices,
12564                    },
12565                    {
12566                      cs: a.globals.ancillaryCollapsedSeries,
12567                      csi: a.globals.ancillaryCollapsedSeriesIndices,
12568                    },
12569                  ].forEach(function (t) {
12570                    i.riseCollapsedSeries(t.cs, t.csi, r);
12571                  });
12572                else this.hideSeries({ seriesEl: s, realIndex: r });
12573              } else {
12574                var o = a.globals.dom.Paper.select(
12575                    " .apexcharts-series[rel='".concat(t + 1, "'] path")
12576                  ),
12577                  n = a.config.chart.type;
12578                if ("pie" === n || "polarArea" === n || "donut" === n) {
12579                  var l = a.config.plotOptions.pie.donut.labels;
12580                  new m(this.lgCtx.ctx).pathMouseDown(o.members[0], null),
12581                    this.lgCtx.ctx.pie.printDataLabelsInner(
12582                      o.members[0].node,
12583                      l
12584                    );
12585                }
12586                o.fire("click");
12587              }
12588            },
12589          },
12590          {
12591            key: "hideSeries",
12592            value: function (t) {
12593              var e = t.seriesEl,
12594                i = t.realIndex,
12595                a = this.w,
12596                s = x.clone(a.config.series);
12597              if (a.globals.axisCharts) {
12598                var r = !1;
12599                if (
12600                  (a.config.yaxis[i] &&
12601                    a.config.yaxis[i].show &&
12602                    a.config.yaxis[i].showAlways &&
12603                    ((r = !0),
12604                    a.globals.ancillaryCollapsedSeriesIndices.indexOf(i) < 0 &&
12605                      (a.globals.ancillaryCollapsedSeries.push({
12606                        index: i,
12607                        data: s[i].data.slice(),
12608                        type: e.parentNode.className.baseVal.split("-")[1],
12609                      }),
12610                      a.globals.ancillaryCollapsedSeriesIndices.push(i))),
12611                  !r)
12612                ) {
12613                  a.globals.collapsedSeries.push({
12614                    index: i,
12615                    data: s[i].data.slice(),
12616                    type: e.parentNode.className.baseVal.split("-")[1],
12617                  }),
12618                    a.globals.collapsedSeriesIndices.push(i);
12619                  var o = a.globals.risingSeries.indexOf(i);
12620                  a.globals.risingSeries.splice(o, 1);
12621                }
12622              } else
12623                a.globals.collapsedSeries.push({ index: i, data: s[i] }),
12624                  a.globals.collapsedSeriesIndices.push(i);
12625              for (var n = e.childNodes, l = 0; l < n.length; l++)
12626                n[l].classList.contains("apexcharts-series-markers-wrap") &&
12627                  (n[l].classList.contains("apexcharts-hide")
12628                    ? n[l].classList.remove("apexcharts-hide")
12629                    : n[l].classList.add("apexcharts-hide"));
12630              (a.globals.allSeriesCollapsed =
12631                a.globals.collapsedSeries.length === a.config.series.length),
12632                (s = this._getSeriesBasedOnCollapsedState(s)),
12633                this.lgCtx.ctx.updateHelpers._updateSeries(
12634                  s,
12635                  a.config.chart.animations.dynamicAnimation.enabled
12636                );
12637            },
12638          },
12639          {
12640            key: "riseCollapsedSeries",
12641            value: function (t, e, i) {
12642              var a = this.w,
12643                s = x.clone(a.config.series);
12644              if (t.length > 0) {
12645                for (var r = 0; r < t.length; r++)
12646                  t[r].index === i &&
12647                    (a.globals.axisCharts
12648                      ? ((s[i].data = t[r].data.slice()),
12649                        t.splice(r, 1),
12650                        e.splice(r, 1),
12651                        a.globals.risingSeries.push(i))
12652                      : ((s[i] = t[r].data),
12653                        t.splice(r, 1),
12654                        e.splice(r, 1),
12655                        a.globals.risingSeries.push(i)));
12656                (s = this._getSeriesBasedOnCollapsedState(s)),
12657                  this.lgCtx.ctx.updateHelpers._updateSeries(
12658                    s,
12659                    a.config.chart.animations.dynamicAnimation.enabled
12660                  );
12661              }
12662            },
12663          },
12664          {
12665            key: "_getSeriesBasedOnCollapsedState",
12666            value: function (t) {
12667              var e = this.w;
12668              return (
12669                e.globals.axisCharts
12670                  ? t.forEach(function (i, a) {
12671                      e.globals.collapsedSeriesIndices.indexOf(a) > -1 &&
12672                        (t[a].data = []);
12673                    })
12674                  : t.forEach(function (i, a) {
12675                      e.globals.collapsedSeriesIndices.indexOf(a) > -1 &&
12676                        (t[a] = 0);
12677                    }),
12678                t
12679              );
12680            },
12681          },
12682        ]),
12683        t
12684      );
12685    })(),
12686    lt = (function () {
12687      function t(e) {
12688        a(this, t),
12689          (this.ctx = e),
12690          (this.w = e.w),
12691          (this.onLegendClick = this.onLegendClick.bind(this)),
12692          (this.onLegendHovered = this.onLegendHovered.bind(this)),
12693          (this.isBarsDistributed =
12694            "bar" === this.w.config.chart.type &&
12695            this.w.config.plotOptions.bar.distributed &&
12696            1 === this.w.config.series.length),
12697          (this.legendHelpers = new nt(this));
12698      }
12699      return (
12700        r(t, [
12701          {
12702            key: "init",
12703            value: function () {
12704              var t = this.w,
12705                e = t.globals,
12706                i = t.config;
12707              if (
12708                ((i.legend.showForSingleSeries && 1 === e.series.length) ||
12709                  this.isBarsDistributed ||
12710                  e.series.length > 1 ||
12711                  !e.axisCharts) &&
12712                i.legend.show
12713              ) {
12714                for (; e.dom.elLegendWrap.firstChild; )
12715                  e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);
12716                this.drawLegends(),
12717                  x.isIE11()
12718                    ? document
12719                        .getElementsByTagName("head")[0]
12720                        .appendChild(this.legendHelpers.getLegendStyles())
12721                    : this.legendHelpers.appendToForeignObject(),
12722                  "bottom" === i.legend.position || "top" === i.legend.position
12723                    ? this.legendAlignHorizontal()
12724                    : ("right" !== i.legend.position &&
12725                        "left" !== i.legend.position) ||
12726                      this.legendAlignVertical();
12727              }
12728            },
12729          },
12730          {
12731            key: "drawLegends",
12732            value: function () {
12733              var t = this,
12734                e = this.w,
12735                i = e.config.legend.fontFamily,
12736                a = e.globals.seriesNames,
12737                s = e.globals.colors.slice();
12738              if ("heatmap" === e.config.chart.type) {
12739                var r = e.config.plotOptions.heatmap.colorScale.ranges;
12740                (a = r.map(function (t) {
12741                  return t.name ? t.name : t.from + " - " + t.to;
12742                })),
12743                  (s = r.map(function (t) {
12744                    return t.color;
12745                  }));
12746              } else this.isBarsDistributed && (a = e.globals.labels.slice());
12747              e.config.legend.customLegendItems.length &&
12748                (a = e.config.legend.customLegendItems);
12749              for (
12750                var o = e.globals.legendFormatter,
12751                  n = e.config.legend.inverseOrder,
12752                  l = n ? a.length - 1 : 0;
12753                n ? l >= 0 : l <= a.length - 1;
12754                n ? l-- : l++
12755              ) {
12756                var h,
12757                  c = o(a[l], { seriesIndex: l, w: e }),
12758                  d = !1,
12759                  g = !1;
12760                if (e.globals.collapsedSeries.length > 0)
12761                  for (var u = 0; u < e.globals.collapsedSeries.length; u++)
12762                    e.globals.collapsedSeries[u].index === l && (d = !0);
12763                if (e.globals.ancillaryCollapsedSeriesIndices.length > 0)
12764                  for (
12765                    var p = 0;
12766                    p < e.globals.ancillaryCollapsedSeriesIndices.length;
12767                    p++
12768                  )
12769                    e.globals.ancillaryCollapsedSeriesIndices[p] === l &&
12770                      (g = !0);
12771                var f = document.createElement("span");
12772                f.classList.add("apexcharts-legend-marker");
12773                var b = e.config.legend.markers.offsetX,
12774                  v = e.config.legend.markers.offsetY,
12775                  w = e.config.legend.markers.height,
12776                  k = e.config.legend.markers.width,
12777                  A = e.config.legend.markers.strokeWidth,
12778                  S = e.config.legend.markers.strokeColor,
12779                  C = e.config.legend.markers.radius,
12780                  L = f.style;
12781                (L.background = s[l]),
12782                  (L.color = s[l]),
12783                  L.setProperty("background", s[l], "important"),
12784                  e.config.legend.markers.fillColors &&
12785                    e.config.legend.markers.fillColors[l] &&
12786                    (L.background = e.config.legend.markers.fillColors[l]),
12787                  void 0 !== e.globals.seriesColors[l] &&
12788                    ((L.background = e.globals.seriesColors[l]),
12789                    (L.color = e.globals.seriesColors[l])),
12790                  (L.height = Array.isArray(w)
12791                    ? parseFloat(w[l]) + "px"
12792                    : parseFloat(w) + "px"),
12793                  (L.width = Array.isArray(k)
12794                    ? parseFloat(k[l]) + "px"
12795                    : parseFloat(k) + "px"),
12796                  (L.left =
12797                    (Array.isArray(b) ? parseFloat(b[l]) : parseFloat(b)) +
12798                    "px"),
12799                  (L.top =
12800                    (Array.isArray(v) ? parseFloat(v[l]) : parseFloat(v)) +
12801                    "px"),
12802                  (L.borderWidth = Array.isArray(A) ? A[l] : A),
12803                  (L.borderColor = Array.isArray(S) ? S[l] : S),
12804                  (L.borderRadius = Array.isArray(C)
12805                    ? parseFloat(C[l]) + "px"
12806                    : parseFloat(C) + "px"),
12807                  e.config.legend.markers.customHTML &&
12808                    (Array.isArray(e.config.legend.markers.customHTML)
12809                      ? e.config.legend.markers.customHTML[l] &&
12810                        (f.innerHTML = e.config.legend.markers.customHTML[l]())
12811                      : (f.innerHTML = e.config.legend.markers.customHTML())),
12812                  m.setAttrs(f, { rel: l + 1, "data:collapsed": d || g }),
12813                  (d || g) && f.classList.add("apexcharts-inactive-legend");
12814                var P = document.createElement("div"),
12815                  I = document.createElement("span");
12816                I.classList.add("apexcharts-legend-text"),
12817                  (I.innerHTML = Array.isArray(c) ? c.join(" ") : c);
12818                var M = e.config.legend.labels.useSeriesColors
12819                  ? e.globals.colors[l]
12820                  : Array.isArray(e.config.legend.labels.colors)
12821                  ? null === (h = e.config.legend.labels.colors) || void 0 === h
12822                    ? void 0
12823                    : h[l]
12824                  : e.config.legend.labels.colors;
12825                M || (M = e.config.chart.foreColor),
12826                  (I.style.color = M),
12827                  (I.style.fontSize =
12828                    parseFloat(e.config.legend.fontSize) + "px"),
12829                  (I.style.fontWeight = e.config.legend.fontWeight),
12830                  (I.style.fontFamily = i || e.config.chart.fontFamily),
12831                  m.setAttrs(I, {
12832                    rel: l + 1,
12833                    i: l,
12834                    "data:default-text": encodeURIComponent(c),
12835                    "data:collapsed": d || g,
12836                  }),
12837                  P.appendChild(f),
12838                  P.appendChild(I);
12839                var T = new y(this.ctx);
12840                if (!e.config.legend.showForZeroSeries)
12841                  0 === T.getSeriesTotalByIndex(l) &&
12842                    T.seriesHaveSameValues(l) &&
12843                    !T.isSeriesNull(l) &&
12844                    -1 === e.globals.collapsedSeriesIndices.indexOf(l) &&
12845                    -1 ===
12846                      e.globals.ancillaryCollapsedSeriesIndices.indexOf(l) &&
12847                    P.classList.add("apexcharts-hidden-zero-series");
12848                e.config.legend.showForNullSeries ||
12849                  (T.isSeriesNull(l) &&
12850                    -1 === e.globals.collapsedSeriesIndices.indexOf(l) &&
12851                    -1 ===
12852                      e.globals.ancillaryCollapsedSeriesIndices.indexOf(l) &&
12853                    P.classList.add("apexcharts-hidden-null-series")),
12854                  e.globals.dom.elLegendWrap.appendChild(P),
12855                  e.globals.dom.elLegendWrap.classList.add(
12856                    "apexcharts-align-".concat(e.config.legend.horizontalAlign)
12857                  ),
12858                  e.globals.dom.elLegendWrap.classList.add(
12859                    "apx-legend-position-" + e.config.legend.position
12860                  ),
12861                  P.classList.add("apexcharts-legend-series"),
12862                  (P.style.margin = ""
12863                    .concat(e.config.legend.itemMargin.vertical, "px ")
12864                    .concat(e.config.legend.itemMargin.horizontal, "px")),
12865                  (e.globals.dom.elLegendWrap.style.width = e.config.legend
12866                    .width
12867                    ? e.config.legend.width + "px"
12868                    : ""),
12869                  (e.globals.dom.elLegendWrap.style.height = e.config.legend
12870                    .height
12871                    ? e.config.legend.height + "px"
12872                    : ""),
12873                  m.setAttrs(P, {
12874                    rel: l + 1,
12875                    seriesName: x.escapeString(a[l]),
12876                    "data:collapsed": d || g,
12877                  }),
12878                  (d || g) && P.classList.add("apexcharts-inactive-legend"),
12879                  e.config.legend.onItemClick.toggleDataSeries ||
12880                    P.classList.add("apexcharts-no-click");
12881              }
12882              e.globals.dom.elWrap.addEventListener(
12883                "click",
12884                t.onLegendClick,
12885                !0
12886              ),
12887                e.config.legend.onItemHover.highlightDataSeries &&
12888                  0 === e.config.legend.customLegendItems.length &&
12889                  (e.globals.dom.elWrap.addEventListener(
12890                    "mousemove",
12891                    t.onLegendHovered,
12892                    !0
12893                  ),
12894                  e.globals.dom.elWrap.addEventListener(
12895                    "mouseout",
12896                    t.onLegendHovered,
12897                    !0
12898                  ));
12899            },
12900          },
12901          {
12902            key: "setLegendWrapXY",
12903            value: function (t, e) {
12904              var i = this.w,
12905                a = i.globals.dom.elLegendWrap,
12906                s = a.getBoundingClientRect(),
12907                r = 0,
12908                o = 0;
12909              if ("bottom" === i.config.legend.position)
12910                o += i.globals.svgHeight - s.height / 2;
12911              else if ("top" === i.config.legend.position) {
12912                var n = new ot(this.ctx),
12913                  l = n.dimHelpers.getTitleSubtitleCoords("title").height,
12914                  h = n.dimHelpers.getTitleSubtitleCoords("subtitle").height;
12915                o = o + (l > 0 ? l - 10 : 0) + (h > 0 ? h - 10 : 0);
12916              }
12917              (a.style.position = "absolute"),
12918                (r = r + t + i.config.legend.offsetX),
12919                (o = o + e + i.config.legend.offsetY),
12920                (a.style.left = r + "px"),
12921                (a.style.top = o + "px"),
12922                "bottom" === i.config.legend.position
12923                  ? ((a.style.top = "auto"),
12924                    (a.style.bottom = 5 - i.config.legend.offsetY + "px"))
12925                  : "right" === i.config.legend.position &&
12926                    ((a.style.left = "auto"),
12927                    (a.style.right = 25 + i.config.legend.offsetX + "px"));
12928              ["width", "height"].forEach(function (t) {
12929                a.style[t] &&
12930                  (a.style[t] = parseInt(i.config.legend[t], 10) + "px");
12931              });
12932            },
12933          },
12934          {
12935            key: "legendAlignHorizontal",
12936            value: function () {
12937              var t = this.w;
12938              t.globals.dom.elLegendWrap.style.right = 0;
12939              var e = this.legendHelpers.getLegendBBox(),
12940                i = new ot(this.ctx),
12941                a = i.dimHelpers.getTitleSubtitleCoords("title"),
12942                s = i.dimHelpers.getTitleSubtitleCoords("subtitle"),
12943                r = 0;
12944              "bottom" === t.config.legend.position
12945                ? (r = -e.clwh / 1.8)
12946                : "top" === t.config.legend.position &&
12947                  (r =
12948                    a.height +
12949                    s.height +
12950                    t.config.title.margin +
12951                    t.config.subtitle.margin -
12952                    10),
12953                this.setLegendWrapXY(20, r);
12954            },
12955          },
12956          {
12957            key: "legendAlignVertical",
12958            value: function () {
12959              var t = this.w,
12960                e = this.legendHelpers.getLegendBBox(),
12961                i = 0;
12962              "left" === t.config.legend.position && (i = 20),
12963                "right" === t.config.legend.position &&
12964                  (i = t.globals.svgWidth - e.clww - 10),
12965                this.setLegendWrapXY(i, 20);
12966            },
12967          },
12968          {
12969            key: "onLegendHovered",
12970            value: function (t) {
12971              var e = this.w,
12972                i =
12973                  t.target.classList.contains("apexcharts-legend-series") ||
12974                  t.target.classList.contains("apexcharts-legend-text") ||
12975                  t.target.classList.contains("apexcharts-legend-marker");
12976              if ("heatmap" === e.config.chart.type || this.isBarsDistributed) {
12977                if (i) {
12978                  var a = parseInt(t.target.getAttribute("rel"), 10) - 1;
12979                  this.ctx.events.fireEvent("legendHover", [
12980                    this.ctx,
12981                    a,
12982                    this.w,
12983                  ]),
12984                    new N(this.ctx).highlightRangeInSeries(t, t.target);
12985                }
12986              } else
12987                !t.target.classList.contains("apexcharts-inactive-legend") &&
12988                  i &&
12989                  new N(this.ctx).toggleSeriesOnHover(t, t.target);
12990            },
12991          },
12992          {
12993            key: "onLegendClick",
12994            value: function (t) {
12995              var e = this.w;
12996              if (
12997                !e.config.legend.customLegendItems.length &&
12998                (t.target.classList.contains("apexcharts-legend-series") ||
12999                  t.target.classList.contains("apexcharts-legend-text") ||
13000                  t.target.classList.contains("apexcharts-legend-marker"))
13001              ) {
13002                var i = parseInt(t.target.getAttribute("rel"), 10) - 1,
13003                  a = "true" === t.target.getAttribute("data:collapsed"),
13004                  s = this.w.config.chart.events.legendClick;
13005                "function" == typeof s && s(this.ctx, i, this.w),
13006                  this.ctx.events.fireEvent("legendClick", [
13007                    this.ctx,
13008                    i,
13009                    this.w,
13010                  ]);
13011                var r = this.w.config.legend.markers.onClick;
13012                "function" == typeof r &&
13013                  t.target.classList.contains("apexcharts-legend-marker") &&
13014                  (r(this.ctx, i, this.w),
13015                  this.ctx.events.fireEvent("legendMarkerClick", [
13016                    this.ctx,
13017                    i,
13018                    this.w,
13019                  ])),
13020                  "treemap" !== e.config.chart.type &&
13021                    "heatmap" !== e.config.chart.type &&
13022                    !this.isBarsDistributed &&
13023                    e.config.legend.onItemClick.toggleDataSeries &&
13024                    this.legendHelpers.toggleDataSeries(i, a);
13025              }
13026            },
13027          },
13028        ]),
13029        t
13030      );
13031    })(),
13032    ht = (function () {
13033      function t(e) {
13034        a(this, t), (this.ctx = e), (this.w = e.w);
13035        var i = this.w;
13036        (this.ev = this.w.config.chart.events),
13037          (this.selectedClass = "apexcharts-selected"),
13038          (this.localeValues = this.w.globals.locale.toolbar),
13039          (this.minX = i.globals.minX),
13040          (this.maxX = i.globals.maxX);
13041      }
13042      return (
13043        r(t, [
13044          {
13045            key: "createToolbar",
13046            value: function () {
13047              var t = this,
13048                e = this.w,
13049                i = function () {
13050                  return document.createElement("div");
13051                },
13052                a = i();
13053              if (
13054                (a.setAttribute("class", "apexcharts-toolbar"),
13055                (a.style.top = e.config.chart.toolbar.offsetY + "px"),
13056                (a.style.right = 3 - e.config.chart.toolbar.offsetX + "px"),
13057                e.globals.dom.elWrap.appendChild(a),
13058                (this.elZoom = i()),
13059                (this.elZoomIn = i()),
13060                (this.elZoomOut = i()),
13061                (this.elPan = i()),
13062                (this.elSelection = i()),
13063                (this.elZoomReset = i()),
13064                (this.elMenuIcon = i()),
13065                (this.elMenu = i()),
13066                (this.elCustomIcons = []),
13067                (this.t = e.config.chart.toolbar.tools),
13068                Array.isArray(this.t.customIcons))
13069              )
13070                for (var s = 0; s < this.t.customIcons.length; s++)
13071                  this.elCustomIcons.push(i());
13072              var r = [],
13073                o = function (i, a, s) {
13074                  var o = i.toLowerCase();
13075                  t.t[o] &&
13076                    e.config.chart.zoom.enabled &&
13077                    r.push({
13078                      el: a,
13079                      icon: "string" == typeof t.t[o] ? t.t[o] : s,
13080                      title: t.localeValues[i],
13081                      class: "apexcharts-".concat(o, "-icon"),
13082                    });
13083                };
13084              o(
13085                "zoomIn",
13086                this.elZoomIn,
13087                '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'
13088              ),
13089                o(
13090                  "zoomOut",
13091                  this.elZoomOut,
13092                  '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'
13093                );
13094              var n = function (i) {
13095                t.t[i] &&
13096                  e.config.chart[i].enabled &&
13097                  r.push({
13098                    el: "zoom" === i ? t.elZoom : t.elSelection,
13099                    icon:
13100                      "string" == typeof t.t[i]
13101                        ? t.t[i]
13102                        : "zoom" === i
13103                        ? '<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n    <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n    <path d="M0 0h24v24H0V0z" fill="none"/>\n    <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>'
13104                        : '<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n    <path d="M0 0h24v24H0z" fill="none"/>\n    <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',
13105                    title:
13106                      t.localeValues[
13107                        "zoom" === i ? "selectionZoom" : "selection"
13108                      ],
13109                    class: e.globals.isTouchDevice
13110                      ? "apexcharts-element-hidden"
13111                      : "apexcharts-".concat(i, "-icon"),
13112                  });
13113              };
13114              n("zoom"),
13115                n("selection"),
13116                this.t.pan &&
13117                  e.config.chart.zoom.enabled &&
13118                  r.push({
13119                    el: this.elPan,
13120                    icon:
13121                      "string" == typeof this.t.pan
13122                        ? this.t.pan
13123                        : '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n    <defs>\n        <path d="M0 0h24v24H0z" id="a"/>\n    </defs>\n    <clipPath id="b">\n        <use overflow="visible" xlink:href="#a"/>\n    </clipPath>\n    <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 
131230-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',
13124                    title: this.localeValues.pan,
13125                    class: e.globals.isTouchDevice
13126                      ? "apexcharts-element-hidden"
13127                      : "apexcharts-pan-icon",
13128                  }),
13129                o(
13130                  "reset",
13131                  this.elZoomReset,
13132                  '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n    <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n    <path d="M0 0h24v24H0z" fill="none"/>\n</svg>'
13133                ),
13134                this.t.download &&
13135                  r.push({
13136                    el: this.elMenuIcon,
13137                    icon:
13138                      "string" == typeof this.t.download
13139                        ? this.t.download
13140                        : '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',
13141                    title: this.localeValues.menu,
13142                    class: "apexcharts-menu-icon",
13143                  });
13144              for (var l = 0; l < this.elCustomIcons.length; l++)
13145                r.push({
13146                  el: this.elCustomIcons[l],
13147                  icon: this.t.customIcons[l].icon,
13148                  title: this.t.customIcons[l].title,
13149                  index: this.t.customIcons[l].index,
13150                  class:
13151                    "apexcharts-toolbar-custom-icon " +
13152                    this.t.customIcons[l].class,
13153                });
13154              r.forEach(function (t, e) {
13155                t.index && x.moveIndexInArray(r, e, t.index);
13156              });
13157              for (var h = 0; h < r.length; h++)
13158                m.setAttrs(r[h].el, { class: r[h].class, title: r[h].title }),
13159                  (r[h].el.innerHTML = r[h].icon),
13160                  a.appendChild(r[h].el);
13161              this._createHamburgerMenu(a),
13162                e.globals.zoomEnabled
13163                  ? this.elZoom.classList.add(this.selectedClass)
13164                  : e.globals.panEnabled
13165                  ? this.elPan.classList.add(this.selectedClass)
13166                  : e.globals.selectionEnabled &&
13167                    this.elSelection.classList.add(this.selectedClass),
13168                this.addToolbarEventListeners();
13169            },
13170          },
13171          {
13172            key: "_createHamburgerMenu",
13173            value: function (t) {
13174              (this.elMenuItems = []),
13175                t.appendChild(this.elMenu),
13176                m.setAttrs(this.elMenu, { class: "apexcharts-menu" });
13177              for (
13178                var e = [
13179                    { name: "exportSVG", title: this.localeValues.exportToSVG },
13180                    { name: "exportPNG", title: this.localeValues.exportToPNG },
13181                    { name: "exportCSV", title: this.localeValues.exportToCSV },
13182                  ],
13183                  i = 0;
13184                i < e.length;
13185                i++
13186              )
13187                this.elMenuItems.push(document.createElement("div")),
13188                  (this.elMenuItems[i].innerHTML = e[i].title),
13189                  m.setAttrs(this.elMenuItems[i], {
13190                    class: "apexcharts-menu-item ".concat(e[i].name),
13191                    title: e[i].title,
13192                  }),
13193                  this.elMenu.appendChild(this.elMenuItems[i]);
13194            },
13195          },
13196          {
13197            key: "addToolbarEventListeners",
13198            value: function () {
13199              var t = this;
13200              this.elZoomReset.addEventListener(
13201                "click",
13202                this.handleZoomReset.bind(this)
13203              ),
13204                this.elSelection.addEventListener(
13205                  "click",
13206                  this.toggleZoomSelection.bind(this, "selection")
13207                ),
13208                this.elZoom.addEventListener(
13209                  "click",
13210                  this.toggleZoomSelection.bind(this, "zoom")
13211                ),
13212                this.elZoomIn.addEventListener(
13213                  "click",
13214                  this.handleZoomIn.bind(this)
13215                ),
13216                this.elZoomOut.addEventListener(
13217                  "click",
13218                  this.handleZoomOut.bind(this)
13219                ),
13220                this.elPan.addEventListener(
13221                  "click",
13222                  this.togglePanning.bind(this)
13223                ),
13224                this.elMenuIcon.addEventListener(
13225                  "click",
13226                  this.toggleMenu.bind(this)
13227                ),
13228                this.elMenuItems.forEach(function (e) {
13229                  e.classList.contains("exportSVG")
13230                    ? e.addEventListener(
13231                        "click",
13232                        t.handleDownload.bind(t, "svg")
13233                      )
13234                    : e.classList.contains("exportPNG")
13235                    ? e.addEventListener(
13236                        "click",
13237                        t.handleDownload.bind(t, "png")
13238                      )
13239                    : e.classList.contains("exportCSV") &&
13240                      e.addEventListener(
13241                        "click",
13242                        t.handleDownload.bind(t, "csv")
13243                      );
13244                });
13245              for (var e = 0; e < this.t.customIcons.length; e++)
13246                this.elCustomIcons[e].addEventListener(
13247                  "click",
13248                  this.t.customIcons[e].click.bind(this, this.ctx, this.ctx.w)
13249                );
13250            },
13251          },
13252          {
13253            key: "toggleZoomSelection",
13254            value: function (t) {
13255              this.ctx.getSyncedCharts().forEach(function (e) {
13256                e.ctx.toolbar.toggleOtherControls();
13257                var i =
13258                    "selection" === t
13259                      ? e.ctx.toolbar.elSelection
13260                      : e.ctx.toolbar.elZoom,
13261                  a = "selection" === t ? "selectionEnabled" : "zoomEnabled";
13262                (e.w.globals[a] = !e.w.globals[a]),
13263                  i.classList.contains(e.ctx.toolbar.selectedClass)
13264                    ? i.classList.remove(e.ctx.toolbar.selectedClass)
13265                    : i.classList.add(e.ctx.toolbar.selectedClass);
13266              });
13267            },
13268          },
13269          {
13270            key: "getToolbarIconsReference",
13271            value: function () {
13272              var t = this.w;
13273              this.elZoom ||
13274                (this.elZoom = t.globals.dom.baseEl.querySelector(
13275                  ".apexcharts-zoom-icon"
13276                )),
13277                this.elPan ||
13278                  (this.elPan = t.globals.dom.baseEl.querySelector(
13279                    ".apexcharts-pan-icon"
13280                  )),
13281                this.elSelection ||
13282                  (this.elSelection = t.globals.dom.baseEl.querySelector(
13283                    ".apexcharts-selection-icon"
13284                  ));
13285            },
13286          },
13287          {
13288            key: "enableZoomPanFromToolbar",
13289            value: function (t) {
13290              this.toggleOtherControls(),
13291                "pan" === t
13292                  ? (this.w.globals.panEnabled = !0)
13293                  : (this.w.globals.zoomEnabled = !0);
13294              var e = "pan" === t ? this.elPan : this.elZoom,
13295                i = "pan" === t ? this.elZoom : this.elPan;
13296              e && e.classList.add(this.selectedClass),
13297                i && i.classList.remove(this.selectedClass);
13298            },
13299          },
13300          {
13301            key: "togglePanning",
13302            value: function () {
13303              this.ctx.getSyncedCharts().forEach(function (t) {
13304                t.ctx.toolbar.toggleOtherControls(),
13305                  (t.w.globals.panEnabled = !t.w.globals.panEnabled),
13306                  t.ctx.toolbar.elPan.classList.contains(
13307                    t.ctx.toolbar.selectedClass
13308                  )
13309                    ? t.ctx.toolbar.elPan.classList.remove(
13310                        t.ctx.toolbar.selectedClass
13311                      )
13312                    : t.ctx.toolbar.elPan.classList.add(
13313                        t.ctx.toolbar.selectedClass
13314                      );
13315              });
13316            },
13317          },
13318          {
13319            key: "toggleOtherControls",
13320            value: function () {
13321              var t = this,
13322                e = this.w;
13323              (e.globals.panEnabled = !1),
13324                (e.globals.zoomEnabled = !1),
13325                (e.globals.selectionEnabled = !1),
13326                this.getToolbarIconsReference(),
13327                [this.elPan, this.elSelection, this.elZoom].forEach(function (
13328                  e
13329                ) {
13330                  e && e.classList.remove(t.selectedClass);
13331                });
13332            },
13333          },
13334          {
13335            key: "handleZoomIn",
13336            value: function () {
13337              var t = this.w;
13338              t.globals.isRangeBar &&
13339                ((this.minX = t.globals.minY), (this.maxX = t.globals.maxY));
13340              var e = (this.minX + this.maxX) / 2,
13341                i = (this.minX + e) / 2,
13342                a = (this.maxX + e) / 2,
13343                s = this._getNewMinXMaxX(i, a);
13344              t.globals.disableZoomIn || this.zoomUpdateOptions(s.minX, s.maxX);
13345            },
13346          },
13347          {
13348            key: "handleZoomOut",
13349            value: function () {
13350              var t = this.w;
13351              if (
13352                (t.globals.isRangeBar &&
13353                  ((this.minX = t.globals.minY), (this.maxX = t.globals.maxY)),
13354                !(
13355                  "datetime" === t.config.xaxis.type &&
13356                  new Date(this.minX).getUTCFullYear() < 1e3
13357                ))
13358              ) {
13359                var e = (this.minX + this.maxX) / 2,
13360                  i = this.minX - (e - this.minX),
13361                  a = this.maxX - (e - this.maxX),
13362                  s = this._getNewMinXMaxX(i, a);
13363                t.globals.disableZoomOut ||
13364                  this.zoomUpdateOptions(s.minX, s.maxX);
13365              }
13366            },
13367          },
13368          {
13369            key: "_getNewMinXMaxX",
13370            value: function (t, e) {
13371              var i = this.w.config.xaxis.convertedCatToNumeric;
13372              return {
13373                minX: i ? Math.floor(t) : t,
13374                maxX: i ? Math.floor(e) : e,
13375              };
13376            },
13377          },
13378          {
13379            key: "zoomUpdateOptions",
13380            value: function (t, e) {
13381              var i = this.w;
13382              if (void 0 !== t || void 0 !== e) {
13383                if (
13384                  !(
13385                    i.config.xaxis.convertedCatToNumeric &&
13386                    (t < 1 && ((t = 1), (e = i.globals.dataPoints)), e - t < 2)
13387                  )
13388                ) {
13389                  var a = { min: t, max: e },
13390                    s = this.getBeforeZoomRange(a);
13391                  s && (a = s.xaxis);
13392                  var r = { xaxis: a },
13393                    o = x.clone(i.globals.initialConfig.yaxis);
13394                  if (i.config.chart.zoom.autoScaleYaxis)
13395                    o = new _(this.ctx).autoScaleY(this.ctx, o, { xaxis: a });
13396                  i.config.chart.group || (r.yaxis = o),
13397                    (this.w.globals.zoomed = !0),
13398                    this.ctx.updateHelpers._updateOptions(
13399                      r,
13400                      !1,
13401                      this.w.config.chart.animations.dynamicAnimation.enabled
13402                    ),
13403                    this.zoomCallback(a, o);
13404                }
13405              } else this.handleZoomReset();
13406            },
13407          },
13408          {
13409            key: "zoomCallback",
13410            value: function (t, e) {
13411              "function" == typeof this.ev.zoomed &&
13412                this.ev.zoomed(this.ctx, { xaxis: t, yaxis: e });
13413            },
13414          },
13415          {
13416            key: "getBeforeZoomRange",
13417            value: function (t, e) {
13418              var i = null;
13419              return (
13420                "function" == typeof this.ev.beforeZoom &&
13421                  (i = this.ev.beforeZoom(this, { xaxis: t, yaxis: e })),
13422                i
13423              );
13424            },
13425          },
13426          {
13427            key: "toggleMenu",
13428            value: function () {
13429              var t = this;
13430              window.setTimeout(function () {
13431                t.elMenu.classList.contains("apexcharts-menu-open")
13432                  ? t.elMenu.classList.remove("apexcharts-menu-open")
13433                  : t.elMenu.classList.add("apexcharts-menu-open");
13434              }, 0);
13435            },
13436          },
13437          {
13438            key: "handleDownload",
13439            value: function (t) {
13440              var e = this.w,
13441                i = new G(this.ctx);
13442              switch (t) {
13443                case "svg":
13444                  i.exportToSVG(this.ctx);
13445                  break;
13446                case "png":
13447                  i.exportToPng(this.ctx);
13448                  break;
13449                case "csv":
13450                  i.exportToCSV({
13451                    series: e.config.series,
13452                    columnDelimiter:
13453                      e.config.chart.toolbar.export.csv.columnDelimiter,
13454                  });
13455              }
13456            },
13457          },
13458          {
13459            key: "handleZoomReset",
13460            value: function (t) {
13461              this.ctx.getSyncedCharts().forEach(function (t) {
13462                var e = t.w;
13463                if (
13464                  ((e.globals.lastXAxis.min =
13465                    e.globals.initialConfig.xaxis.min),
13466                  (e.globals.lastXAxis.max = e.globals.initialConfig.xaxis.max),
13467                  t.updateHelpers.revertDefaultAxisMinMax(),
13468                  "function" == typeof e.config.chart.events.beforeResetZoom)
13469                ) {
13470                  var i = e.config.chart.events.beforeResetZoom(t, e);
13471                  i && t.updateHelpers.revertDefaultAxisMinMax(i);
13472                }
13473                "function" == typeof e.config.chart.events.zoomed &&
13474                  t.ctx.toolbar.zoomCallback({
13475                    min: e.config.xaxis.min,
13476                    max: e.config.xaxis.max,
13477                  }),
13478                  (e.globals.zoomed = !1);
13479                var a = t.ctx.series.emptyCollapsedSeries(
13480                  x.clone(e.globals.initialSeries)
13481                );
13482                t.updateHelpers._updateSeries(
13483                  a,
13484                  e.config.chart.animations.dynamicAnimation.enabled
13485                );
13486              });
13487            },
13488          },
13489          {
13490            key: "destroy",
13491            value: function () {
13492              (this.elZoom = null),
13493                (this.elZoomIn = null),
13494                (this.elZoomOut = null),
13495                (this.elPan = null),
13496                (this.elSelection = null),
13497                (this.elZoomReset = null),
13498                (this.elMenuIcon = null);
13499            },
13500          },
13501        ]),
13502        t
13503      );
13504    })(),
13505    ct = (function (t) {
13506      n(i, t);
13507      var e = d(i);
13508      function i(t) {
13509        var s;
13510        return (
13511          a(this, i),
13512          ((s = e.call(this, t)).ctx = t),
13513          (s.w = t.w),
13514          (s.dragged = !1),
13515          (s.graphics = new m(s.ctx)),
13516          (s.eventList = [
13517            "mousedown",
13518            "mouseleave",
13519            "mousemove",
13520            "touchstart",
13521            "touchmove",
13522            "mouseup",
13523            "touchend",
13524          ]),
13525          (s.clientX = 0),
13526          (s.clientY = 0),
13527          (s.startX = 0),
13528          (s.endX = 0),
13529          (s.dragX = 0),
13530          (s.startY = 0),
13531          (s.endY = 0),
13532          (s.dragY = 0),
13533          (s.moveDirection = "none"),
13534          s
13535        );
13536      }
13537      return (
13538        r(i, [
13539          {
13540            key: "init",
13541            value: function (t) {
13542              var e = this,
13543                i = t.xyRatios,
13544                a = this.w,
13545                s = this;
13546              (this.xyRatios = i),
13547                (this.zoomRect = this.graphics.drawRect(0, 0, 0, 0)),
13548                (this.selectionRect = this.graphics.drawRect(0, 0, 0, 0)),
13549                (this.gridRect =
13550                  a.globals.dom.baseEl.querySelector(".apexcharts-grid")),
13551                this.zoomRect.node.classList.add("apexcharts-zoom-rect"),
13552                this.selectionRect.node.classList.add(
13553                  "apexcharts-selection-rect"
13554                ),
13555                a.globals.dom.elGraphical.add(this.zoomRect),
13556                a.globals.dom.elGraphical.add(this.selectionRect),
13557                "x" === a.config.chart.selection.type
13558                  ? (this.slDraggableRect = this.selectionRect
13559                      .draggable({
13560                        minX: 0,
13561                        minY: 0,
13562                        maxX: a.globals.gridWidth,
13563                        maxY: a.globals.gridHeight,
13564                      })
13565                      .on(
13566                        "dragmove",
13567                        this.selectionDragging.bind(this, "dragging")
13568                      ))
13569                  : "y" === a.config.chart.selection.type
13570                  ? (this.slDraggableRect = this.selectionRect
13571                      .draggable({ minX: 0, maxX: a.globals.gridWidth })
13572                      .on(
13573                        "dragmove",
13574                        this.selectionDragging.bind(this, "dragging")
13575                      ))
13576                  : (this.slDraggableRect = this.selectionRect
13577                      .draggable()
13578                      .on(
13579                        "dragmove",
13580                        this.selectionDragging.bind(this, "dragging")
13581                      )),
13582                this.preselectedSelection(),
13583                (this.hoverArea = a.globals.dom.baseEl.querySelector(
13584                  "".concat(a.globals.chartClass, " .apexcharts-svg")
13585                )),
13586                this.hoverArea.classList.add("apexcharts-zoomable"),
13587                this.eventList.forEach(function (t) {
13588                  e.hoverArea.addEventListener(t, s.svgMouseEvents.bind(s, i), {
13589                    capture: !1,
13590                    passive: !0,
13591                  });
13592                });
13593            },
13594          },
13595          {
13596            key: "destroy",
13597            value: function () {
13598              this.slDraggableRect &&
13599                (this.slDraggableRect.draggable(!1),
13600                this.slDraggableRect.off(),
13601                this.selectionRect.off()),
13602                (this.selectionRect = null),
13603                (this.zoomRect = null),
13604                (this.gridRect = null);
13605            },
13606          },
13607          {
13608            key: "svgMouseEvents",
13609            value: function (t, e) {
13610              var i = this.w,
13611                a = this,
13612                s = this.ctx.toolbar,
13613                r = i.globals.zoomEnabled
13614                  ? i.config.chart.zoom.type
13615                  : i.config.chart.selection.type,
13616                o = i.config.chart.toolbar.autoSelected;
13617              if (
13618                (e.shiftKey
13619                  ? ((this.shiftWasPressed = !0),
13620                    s.enableZoomPanFromToolbar("pan" === o ? "zoom" : "pan"))
13621                  : this.shiftWasPressed &&
13622                    (s.enableZoomPanFromToolbar(o),
13623                    (this.shiftWasPressed = !1)),
13624                e.target)
13625              ) {
13626                var n,
13627                  l = e.target.classList;
13628                if (
13629                  (e.target.parentNode &&
13630                    null !== e.target.parentNode &&
13631                    (n = e.target.parentNode.classList),
13632                  !(
13633                    l.contains("apexcharts-selection-rect") ||
13634                    l.contains("apexcharts-legend-marker") ||
13635                    l.contains("apexcharts-legend-text") ||
13636                    (n && n.contains("apexcharts-toolbar"))
13637                  ))
13638                ) {
13639                  if (
13640                    ((a.clientX =
13641                      "touchmove" === e.type || "touchstart" === e.type
13642                        ? e.touches[0].clientX
13643                        : "touchend" === e.type
13644                        ? e.changedTouches[0].clientX
13645                        : e.clientX),
13646                    (a.clientY =
13647                      "touchmove" === e.type || "touchstart" === e.type
13648                        ? e.touches[0].clientY
13649                        : "touchend" === e.type
13650                        ? e.changedTouches[0].clientY
13651                        : e.clientY),
13652                    "mousedown" === e.type && 1 === e.which)
13653                  ) {
13654                    var h = a.gridRect.getBoundingClientRect();
13655                    (a.startX = a.clientX - h.left),
13656                      (a.startY = a.clientY - h.top),
13657                      (a.dragged = !1),
13658                      (a.w.globals.mousedown = !0);
13659                  }
13660                  if (
13661                    ((("mousemove" === e.type && 1 === e.which) ||
13662                      "touchmove" === e.type) &&
13663                      ((a.dragged = !0),
13664                      i.globals.panEnabled
13665                        ? ((i.globals.selection = null),
13666                          a.w.globals.mousedown &&
13667                            a.panDragging({
13668                              context: a,
13669                              zoomtype: r,
13670                              xyRatios: t,
13671                            }))
13672                        : ((a.w.globals.mousedown && i.globals.zoomEnabled) ||
13673                            (a.w.globals.mousedown &&
13674                              i.globals.selectionEnabled)) &&
13675                          (a.selection = a.selectionDrawing({
13676                            context: a,
13677                            zoomtype: r,
13678                          }))),
13679                    "mouseup" === e.type ||
13680                      "touchend" === e.type ||
13681                      "mouseleave" === e.type)
13682                  ) {
13683                    var c = a.gridRect.getBoundingClientRect();
13684                    a.w.globals.mousedown &&
13685                      ((a.endX = a.clientX - c.left),
13686                      (a.endY = a.clientY - c.top),
13687                      (a.dragX = Math.abs(a.endX - a.startX)),
13688                      (a.dragY = Math.abs(a.endY - a.startY)),
13689                      (i.globals.zoomEnabled || i.globals.selectionEnabled) &&
13690                        a.selectionDrawn({ context: a, zoomtype: r }),
13691                      i.globals.panEnabled &&
13692                        i.config.xaxis.convertedCatToNumeric &&
13693                        a.delayedPanScrolled()),
13694                      i.globals.zoomEnabled &&
13695                        a.hideSelectionRect(this.selectionRect),
13696                      (a.dragged = !1),
13697                      (a.w.globals.mousedown = !1);
13698                  }
13699                  this.makeSelectionRectDraggable();
13700                }
13701              }
13702            },
13703          },
13704          {
13705            key: "makeSelectionRectDraggable",
13706            value: function () {
13707              var t = this.w;
13708              if (this.selectionRect) {
13709                var e = this.selectionRect.node.getBoundingClientRect();
13710                e.width > 0 &&
13711                  e.height > 0 &&
13712                  this.slDraggableRect
13713                    .selectize({
13714                      points: "l, r",
13715                      pointSize: 8,
13716                      pointType: "rect",
13717                    })
13718                    .resize({
13719                      constraint: {
13720                        minX: 0,
13721                        minY: 0,
13722                        maxX: t.globals.gridWidth,
13723                        maxY: t.globals.gridHeight,
13724                      },
13725                    })
13726                    .on(
13727                      "resizing",
13728                      this.selectionDragging.bind(this, "resizing")
13729                    );
13730              }
13731            },
13732          },
13733          {
13734            key: "preselectedSelection",
13735            value: function () {
13736              var t = this.w,
13737                e = this.xyRatios;
13738              if (!t.globals.zoomEnabled)
13739                if (
13740                  void 0 !== t.globals.selection &&
13741                  null !== t.globals.selection
13742                )
13743                  this.drawSelectionRect(t.globals.selection);
13744                else if (
13745                  void 0 !== t.config.chart.selection.xaxis.min &&
13746                  void 0 !== t.config.chart.selection.xaxis.max
13747                ) {
13748                  var i =
13749                      (t.config.chart.selection.xaxis.min - t.globals.minX) /
13750                      e.xRatio,
13751                    a =
13752                      t.globals.gridWidth -
13753                      (t.globals.maxX - t.config.chart.selection.xaxis.max) /
13754                        e.xRatio -
13755                      i;
13756                  t.globals.isRangeBar &&
13757                    ((i =
13758                      (t.config.chart.selection.xaxis.min -
13759                        t.globals.yAxisScale[0].niceMin) /
13760                      e.invertedYRatio),
13761                    (a =
13762                      (t.config.chart.selection.xaxis.max -
13763                        t.config.chart.selection.xaxis.min) /
13764                      e.invertedYRatio));
13765                  var s = {
13766                    x: i,
13767                    y: 0,
13768                    width: a,
13769                    height: t.globals.gridHeight,
13770                    translateX: 0,
13771                    translateY: 0,
13772                    selectionEnabled: !0,
13773                  };
13774                  this.drawSelectionRect(s),
13775                    this.makeSelectionRectDraggable(),
13776                    "function" == typeof t.config.chart.events.selection &&
13777                      t.config.chart.events.selection(this.ctx, {
13778                        xaxis: {
13779                          min: t.config.chart.selection.xaxis.min,
13780                          max: t.config.chart.selection.xaxis.max,
13781                        },
13782                        yaxis: {},
13783                      });
13784                }
13785            },
13786          },
13787          {
13788            key: "drawSelectionRect",
13789            value: function (t) {
13790              var e = t.x,
13791                i = t.y,
13792                a = t.width,
13793                s = t.height,
13794                r = t.translateX,
13795                o = void 0 === r ? 0 : r,
13796                n = t.translateY,
13797                l = void 0 === n ? 0 : n,
13798                h = this.w,
13799                c = this.zoomRect,
13800                d = this.selectionRect;
13801              if (this.dragged || null !== h.globals.selection) {
13802                var g = { transform: "translate(" + o + ", " + l + ")" };
13803                h.globals.zoomEnabled &&
13804                  this.dragged &&
13805                  (a < 0 && (a = 1),
13806                  c.attr({
13807                    x: e,
13808                    y: i,
13809                    width: a,
13810                    height: s,
13811                    fill: h.config.chart.zoom.zoomedArea.fill.color,
13812                    "fill-opacity": h.config.chart.zoom.zoomedArea.fill.opacity,
13813                    stroke: h.config.chart.zoom.zoomedArea.stroke.color,
13814                    "stroke-width": h.config.chart.zoom.zoomedArea.stroke.width,
13815                    "stroke-opacity":
13816                      h.config.chart.zoom.zoomedArea.stroke.opacity,
13817                  }),
13818                  m.setAttrs(c.node, g)),
13819                  h.globals.selectionEnabled &&
13820                    (d.attr({
13821                      x: e,
13822                      y: i,
13823                      width: a > 0 ? a : 0,
13824                      height: s > 0 ? s : 0,
13825                      fill: h.config.chart.selection.fill.color,
13826                      "fill-opacity": h.config.chart.selection.fill.opacity,
13827                      stroke: h.config.chart.selection.stroke.color,
13828                      "stroke-width": h.config.chart.selection.stroke.width,
13829                      "stroke-dasharray":
13830                        h.config.chart.selection.stroke.dashArray,
13831                      "stroke-opacity": h.config.chart.selection.stroke.opacity,
13832                    }),
13833                    m.setAttrs(d.node, g));
13834              }
13835            },
13836          },
13837          {
13838            key: "hideSelectionRect",
13839            value: function (t) {
13840              t && t.attr({ x: 0, y: 0, width: 0, height: 0 });
13841            },
13842          },
13843          {
13844            key: "selectionDrawing",
13845            value: function (t) {
13846              var e = t.context,
13847                i = t.zoomtype,
13848                a = this.w,
13849                s = e,
13850                r = this.gridRect.getBoundingClientRect(),
13851                o = s.startX - 1,
13852                n = s.startY,
13853                l = !1,
13854                h = !1,
13855                c = s.clientX - r.left - o,
13856                d = s.clientY - r.top - n,
13857                g = {};
13858              return (
13859                Math.abs(c + o) > a.globals.gridWidth
13860                  ? (c = a.globals.gridWidth - o)
13861                  : s.clientX - r.left < 0 && (c = o),
13862                o > s.clientX - r.left && ((l = !0), (c = Math.abs(c))),
13863                n > s.clientY - r.top && ((h = !0), (d = Math.abs(d))),
13864                (g =
13865                  "x" === i
13866                    ? {
13867                        x: l ? o - c : o,
13868                        y: 0,
13869                        width: c,
13870                        height: a.globals.gridHeight,
13871                      }
13872                    : "y" === i
13873                    ? {
13874                        x: 0,
13875                        y: h ? n - d : n,
13876                        width: a.globals.gridWidth,
13877                        height: d,
13878                      }
13879                    : {
13880                        x: l ? o - c : o,
13881                        y: h ? n - d : n,
13882                        width: c,
13883                        height: d,
13884                      }),
13885                s.drawSelectionRect(g),
13886                s.selectionDragging("resizing"),
13887                g
13888              );
13889            },
13890          },
13891          {
13892            key: "selectionDragging",
13893            value: function (t, e) {
13894              var i = this,
13895                a = this.w,
13896                s = this.xyRatios,
13897                r = this.selectionRect,
13898                o = 0;
13899              "resizing" === t && (o = 30);
13900              var n = function (t) {
13901                  return parseFloat(r.node.getAttribute(t));
13902                },
13903                l = {
13904                  x: n("x"),
13905                  y: n("y"),
13906                  width: n("width"),
13907                  height: n("height"),
13908                };
13909              (a.globals.selection = l),
13910                "function" == typeof a.config.chart.events.selection &&
13911                  a.globals.selectionEnabled &&
13912                  (clearTimeout(this.w.globals.selectionResizeTimer),
13913                  (this.w.globals.selectionResizeTimer = window.setTimeout(
13914                    function () {
13915                      var t,
13916                        e,
13917                        o,
13918                        n,
13919                        l = i.gridRect.getBoundingClientRect(),
13920                        h = r.node.getBoundingClientRect();
13921                      a.globals.isRangeBar
13922                        ? ((t =
13923                            a.globals.yAxisScale[0].niceMin +
13924                            (h.left - l.left) * s.invertedYRatio),
13925                          (e =
13926                            a.globals.yAxisScale[0].niceMin +
13927                            (h.right - l.left) * s.invertedYRatio),
13928                          (o = 0),
13929                          (n = 1))
13930                        : ((t =
13931                            a.globals.xAxisScale.niceMin +
13932                            (h.left - l.left) * s.xRatio),
13933                          (e =
13934                            a.globals.xAxisScale.niceMin +
13935                            (h.right - l.left) * s.xRatio),
13936                          (o =
13937                            a.globals.yAxisScale[0].niceMin +
13938                            (l.bottom - h.bottom) * s.yRatio[0]),
13939                          (n =
13940                            a.globals.yAxisScale[0].niceMax -
13941                            (h.top - l.top) * s.yRatio[0]));
13942                      var c = {
13943                        xaxis: { min: t, max: e },
13944                        yaxis: { min: o, max: n },
13945                      };
13946                      a.config.chart.events.selection(i.ctx, c),
13947                        a.config.chart.brush.enabled &&
13948                          void 0 !== a.config.chart.events.brushScrolled &&
13949                          a.config.chart.events.brushScrolled(i.ctx, c);
13950                    },
13951                    o
13952                  )));
13953            },
13954          },
13955          {
13956            key: "selectionDrawn",
13957            value: function (t) {
13958              var e = t.context,
13959                i = t.zoomtype,
13960                a = this.w,
13961                s = e,
13962                r = this.xyRatios,
13963                o = this.ctx.toolbar;
13964              if (s.startX > s.endX) {
13965                var n = s.startX;
13966                (s.startX = s.endX), (s.endX = n);
13967              }
13968              if (s.startY > s.endY) {
13969                var l = s.startY;
13970                (s.startY = s.endY), (s.endY = l);
13971              }
13972              var h = void 0,
13973                c = void 0;
13974              a.globals.isRangeBar
13975                ? ((h =
13976                    a.globals.yAxisScale[0].niceMin +
13977                    s.startX * r.invertedYRatio),
13978                  (c =
13979                    a.globals.yAxisScale[0].niceMin +
13980                    s.endX * r.invertedYRatio))
13981                : ((h = a.globals.xAxisScale.niceMin + s.startX * r.xRatio),
13982                  (c = a.globals.xAxisScale.niceMin + s.endX * r.xRatio));
13983              var d = [],
13984                g = [];
13985              if (
13986                (a.config.yaxis.forEach(function (t, e) {
13987                  d.push(
13988                    a.globals.yAxisScale[e].niceMax - r.yRatio[e] * s.startY
13989                  ),
13990                    g.push(
13991                      a.globals.yAxisScale[e].niceMax - r.yRatio[e] * s.endY
13992                    );
13993                }),
13994                s.dragged && (s.dragX > 10 || s.dragY > 10) && h !== c)
13995              )
13996                if (a.globals.zoomEnabled) {
13997                  var u = x.clone(a.globals.initialConfig.yaxis),
13998                    p = x.clone(a.globals.initialConfig.xaxis);
13999                  if (
14000                    ((a.globals.zoomed = !0),
14001                    a.config.xaxis.convertedCatToNumeric &&
14002                      ((h = Math.floor(h)),
14003                      (c = Math.floor(c)),
14004                      h < 1 && ((h = 1), (c = a.globals.dataPoints)),
14005                      c - h < 2 && (c = h + 1)),
14006                    ("xy" !== i && "x" !== i) || (p = { min: h, max: c }),
14007                    ("xy" !== i && "y" !== i) ||
14008                      u.forEach(function (t, e) {
14009                        (u[e].min = g[e]), (u[e].max = d[e]);
14010                      }),
14011                    a.config.chart.zoom.autoScaleYaxis)
14012                  ) {
14013                    var f = new _(s.ctx);
14014                    u = f.autoScaleY(s.ctx, u, { xaxis: p });
14015                  }
14016                  if (o) {
14017                    var b = o.getBeforeZoomRange(p, u);
14018                    b &&
14019                      ((p = b.xaxis ? b.xaxis : p),
14020                      (u = b.yaxis ? b.yaxis : u));
14021                  }
14022                  var v = { xaxis: p };
14023                  a.config.chart.group || (v.yaxis = u),
14024                    s.ctx.updateHelpers._updateOptions(
14025                      v,
14026                      !1,
14027                      s.w.config.chart.animations.dynamicAnimation.enabled
14028                    ),
14029                    "function" == typeof a.config.chart.events.zoomed &&
14030                      o.zoomCallback(p, u);
14031                } else if (a.globals.selectionEnabled) {
14032                  var m,
14033                    y = null;
14034                  (m = { min: h, max: c }),
14035                    ("xy" !== i && "y" !== i) ||
14036                      (y = x.clone(a.config.yaxis)).forEach(function (t, e) {
14037                        (y[e].min = g[e]), (y[e].max = d[e]);
14038                      }),
14039                    (a.globals.selection = s.selection),
14040                    "function" == typeof a.config.chart.events.selection &&
14041                      a.config.chart.events.selection(s.ctx, {
14042                        xaxis: m,
14043                        yaxis: y,
14044                      });
14045                }
14046            },
14047          },
14048          {
14049            key: "panDragging",
14050            value: function (t) {
14051              var e = t.context,
14052                i = this.w,
14053                a = e;
14054              if (void 0 !== i.globals.lastClientPosition.x) {
14055                var s = i.globals.lastClientPosition.x - a.clientX,
14056                  r = i.globals.lastClientPosition.y - a.clientY;
14057                Math.abs(s) > Math.abs(r) && s > 0
14058                  ? (this.moveDirection = "left")
14059                  : Math.abs(s) > Math.abs(r) && s < 0
14060                  ? (this.moveDirection = "right")
14061                  : Math.abs(r) > Math.abs(s) && r > 0
14062                  ? (this.moveDirection = "up")
14063                  : Math.abs(r) > Math.abs(s) &&
14064                    r < 0 &&
14065                    (this.moveDirection = "down");
14066              }
14067              i.globals.lastClientPosition = { x: a.clientX, y: a.clientY };
14068              var o = i.globals.isRangeBar ? i.globals.minY : i.globals.minX,
14069                n = i.globals.isRangeBar ? i.globals.maxY : i.globals.maxX;
14070              i.config.xaxis.convertedCatToNumeric || a.panScrolled(o, n);
14071            },
14072          },
14073          {
14074            key: "delayedPanScrolled",
14075            value: function () {
14076              var t = this.w,
14077                e = t.globals.minX,
14078                i = t.globals.maxX,
14079                a = (t.globals.maxX - t.globals.minX) / 2;
14080              "left" === this.moveDirection
14081                ? ((e = t.globals.minX + a), (i = t.globals.maxX + a))
14082                : "right" === this.moveDirection &&
14083                  ((e = t.globals.minX - a), (i = t.globals.maxX - a)),
14084                (e = Math.floor(e)),
14085                (i = Math.floor(i)),
14086                this.updateScrolledChart({ xaxis: { min: e, max: i } }, e, i);
14087            },
14088          },
14089          {
14090            key: "panScrolled",
14091            value: function (t, e) {
14092              var i = this.w,
14093                a = this.xyRatios,
14094                s = x.clone(i.globals.initialConfig.yaxis),
14095                r = a.xRatio,
14096                o = i.globals.minX,
14097                n = i.globals.maxX;
14098              i.globals.isRangeBar &&
14099                ((r = a.invertedYRatio),
14100                (o = i.globals.minY),
14101                (n = i.globals.maxY)),
14102                "left" === this.moveDirection
14103                  ? ((t = o + (i.globals.gridWidth / 15) * r),
14104                    (e = n + (i.globals.gridWidth / 15) * r))
14105                  : "right" === this.moveDirection &&
14106                    ((t = o - (i.globals.gridWidth / 15) * r),
14107                    (e = n - (i.globals.gridWidth / 15) * r)),
14108                i.globals.isRangeBar ||
14109                  ((t < i.globals.initialMinX || e > i.globals.initialMaxX) &&
14110                    ((t = o), (e = n)));
14111              var l = { min: t, max: e };
14112              i.config.chart.zoom.autoScaleYaxis &&
14113                (s = new _(this.ctx).autoScaleY(this.ctx, s, { xaxis: l }));
14114              var h = { xaxis: { min: t, max: e } };
14115              i.config.chart.group || (h.yaxis = s),
14116                this.updateScrolledChart(h, t, e);
14117            },
14118          },
14119          {
14120            key: "updateScrolledChart",
14121            value: function (t, e, i) {
14122              var a = this.w;
14123              this.ctx.updateHelpers._updateOptions(t, !1, !1),
14124                "function" == typeof a.config.chart.events.scrolled &&
14125                  a.config.chart.events.scrolled(this.ctx, {
14126                    xaxis: { min: e, max: i },
14127                  });
14128            },
14129          },
14130        ]),
14131        i
14132      );
14133    })(ht),
14134    dt = (function () {
14135      function t(e) {
14136        a(this, t), (this.w = e.w), (this.ttCtx = e), (this.ctx = e.ctx);
14137      }
14138      return (
14139        r(t, [
14140          {
14141            key: "getNearestValues",
14142            value: function (t) {
14143              var e = t.hoverArea,
14144                i = t.elGrid,
14145                a = t.clientX,
14146                s = t.clientY,
14147                r = this.w,
14148                o = i.getBoundingClientRect(),
14149                n = o.width,
14150                l = o.height,
14151                h = n / (r.globals.dataPoints - 1),
14152                c = l / r.globals.dataPoints,
14153                d = this.hasBars();
14154              (!r.globals.comboCharts && !d) ||
14155                r.config.xaxis.convertedCatToNumeric ||
14156                (h = n / r.globals.dataPoints);
14157              var g = a - o.left - r.globals.barPadForNumericAxis,
14158                u = s - o.top;
14159              g < 0 || u < 0 || g > n || u > l
14160                ? (e.classList.remove("hovering-zoom"),
14161                  e.classList.remove("hovering-pan"))
14162                : r.globals.zoomEnabled
14163                ? (e.classList.remove("hovering-pan"),
14164                  e.classList.add("hovering-zoom"))
14165                : r.globals.panEnabled &&
14166                  (e.classList.remove("hovering-zoom"),
14167                  e.classList.add("hovering-pan"));
14168              var p = Math.round(g / h),
14169                f = Math.floor(u / c);
14170              d &&
14171                !r.config.xaxis.convertedCatToNumeric &&
14172                ((p = Math.ceil(g / h)), (p -= 1));
14173              var b = null,
14174                v = null,
14175                m = r.globals.seriesXvalues.map(function (t) {
14176                  return t.filter(function (t) {
14177                    return x.isNumber(t);
14178                  });
14179                }),
14180                y = r.globals.seriesYvalues.map(function (t) {
14181                  return t.filter(function (t) {
14182                    return x.isNumber(t);
14183                  });
14184                });
14185              if (r.globals.isXNumeric) {
14186                var w = this.ttCtx.getElGrid().getBoundingClientRect(),
14187                  k = g * (w.width / n),
14188                  A = u * (w.height / l);
14189                (b = (v = this.closestInMultiArray(k, A, m, y)).index),
14190                  (p = v.j),
14191                  null !== b &&
14192                    ((m = r.globals.seriesXvalues[b]),
14193                    (p = (v = this.closestInArray(k, m)).index));
14194              }
14195              return (
14196                (r.globals.capturedSeriesIndex = null === b ? -1 : b),
14197                (!p || p < 1) && (p = 0),
14198                r.globals.isBarHorizontal
14199                  ? (r.globals.capturedDataPointIndex = f)
14200                  : (r.globals.capturedDataPointIndex = p),
14201                {
14202                  capturedSeries: b,
14203                  j: r.globals.isBarHorizontal ? f : p,
14204                  hoverX: g,
14205                  hoverY: u,
14206                }
14207              );
14208            },
14209          },
14210          {
14211            key: "closestInMultiArray",
14212            value: function (t, e, i, a) {
14213              var s = this.w,
14214                r = 0,
14215                o = null,
14216                n = -1;
14217              s.globals.series.length > 1
14218                ? (r = this.getFirstActiveXArray(i))
14219                : (o = 0);
14220              var l = i[r][0],
14221                h = Math.abs(t - l);
14222              if (
14223                (i.forEach(function (e) {
14224                  e.forEach(function (e, i) {
14225                    var a = Math.abs(t - e);
14226                    a <= h && ((h = a), (n = i));
14227                  });
14228                }),
14229                -1 !== n)
14230              ) {
14231                var c = a[r][n],
14232                  d = Math.abs(e - c);
14233                (o = r),
14234                  a.forEach(function (t, i) {
14235                    var a = Math.abs(e - t[n]);
14236                    a <= d && ((d = a), (o = i));
14237                  });
14238              }
14239              return { index: o, j: n };
14240            },
14241          },
14242          {
14243            key: "getFirstActiveXArray",
14244            value: function (t) {
14245              for (
14246                var e = this.w,
14247                  i = 0,
14248                  a = t.map(function (t, e) {
14249                    return t.length > 0 ? e : -1;
14250                  }),
14251                  s = 0;
14252                s < a.length;
14253                s++
14254              )
14255                if (
14256                  -1 !== a[s] &&
14257                  -1 === e.globals.collapsedSeriesIndices.indexOf(s) &&
14258                  -1 === e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)
14259                ) {
14260                  i = a[s];
14261                  break;
14262                }
14263              return i;
14264            },
14265          },
14266          {
14267            key: "closestInArray",
14268            value: function (t, e) {
14269              for (
14270                var i = e[0], a = null, s = Math.abs(t - i), r = 0;
14271                r < e.length;
14272                r++
14273              ) {
14274                var o = Math.abs(t - e[r]);
14275                o < s && ((s = o), (a = r));
14276              }
14277              return { index: a };
14278            },
14279          },
14280          {
14281            key: "isXoverlap",
14282            value: function (t) {
14283              var e = [],
14284                i = this.w.globals.seriesX.filter(function (t) {
14285                  return void 0 !== t[0];
14286                });
14287              if (i.length > 0)
14288                for (var a = 0; a < i.length - 1; a++)
14289                  void 0 !== i[a][t] &&
14290                    void 0 !== i[a + 1][t] &&
14291                    i[a][t] !== i[a + 1][t] &&
14292                    e.push("unEqual");
14293              return 0 === e.length;
14294            },
14295          },
14296          {
14297            key: "isInitialSeriesSameLen",
14298            value: function () {
14299              for (
14300                var t = !0, e = this.w.globals.initialSeries, i = 0;
14301                i < e.length - 1;
14302                i++
14303              )
14304                if (e[i].data.length !== e[i + 1].data.length) {
14305                  t = !1;
14306                  break;
14307                }
14308              return t;
14309            },
14310          },
14311          {
14312            key: "getBarsHeight",
14313            value: function (t) {
14314              return u(t).reduce(function (t, e) {
14315                return t + e.getBBox().height;
14316              }, 0);
14317            },
14318          },
14319          {
14320            key: "getElMarkers",
14321            value: function (t) {
14322              return "number" == typeof t
14323                ? this.w.globals.dom.baseEl.querySelectorAll(
14324                    ".apexcharts-series[data\\:realIndex='".concat(
14325                      t,
14326                      "'] .apexcharts-series-markers-wrap > *"
14327                    )
14328                  )
14329                : this.w.globals.dom.baseEl.querySelectorAll(
14330                    ".apexcharts-series-markers-wrap > *"
14331                  );
14332            },
14333          },
14334          {
14335            key: "getAllMarkers",
14336            value: function () {
14337              var t = this.w.globals.dom.baseEl.querySelectorAll(
14338                ".apexcharts-series-markers-wrap"
14339              );
14340              (t = u(t)).sort(function (t, e) {
14341                var i = Number(t.getAttribute("data:realIndex")),
14342                  a = Number(e.getAttribute("data:realIndex"));
14343                return a < i ? 1 : a > i ? -1 : 0;
14344              });
14345              var e = [];
14346              return (
14347                t.forEach(function (t) {
14348                  e.push(t.querySelector(".apexcharts-marker"));
14349                }),
14350                e
14351              );
14352            },
14353          },
14354          {
14355            key: "hasMarkers",
14356            value: function (t) {
14357              return this.getElMarkers(t).length > 0;
14358            },
14359          },
14360          {
14361            key: "getElBars",
14362            value: function () {
14363              return this.w.globals.dom.baseEl.querySelectorAll(
14364                ".apexcharts-bar-series,  .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series"
14365              );
14366            },
14367          },
14368          {
14369            key: "hasBars",
14370            value: function () {
14371              return this.getElBars().length > 0;
14372            },
14373          },
14374          {
14375            key: "getHoverMarkerSize",
14376            value: function (t) {
14377              var e = this.w,
14378                i = e.config.markers.hover.size;
14379              return (
14380                void 0 === i &&
14381                  (i =
14382                    e.globals.markers.size[t] +
14383                    e.config.markers.hover.sizeOffset),
14384                i
14385              );
14386            },
14387          },
14388          {
14389            key: "toggleAllTooltipSeriesGroups",
14390            value: function (t) {
14391              var e = this.w,
14392                i = this.ttCtx;
14393              0 === i.allTooltipSeriesGroups.length &&
14394                (i.allTooltipSeriesGroups =
14395                  e.globals.dom.baseEl.querySelectorAll(
14396                    ".apexcharts-tooltip-series-group"
14397                  ));
14398              for (var a = i.allTooltipSeriesGroups, s = 0; s < a.length; s++)
14399                "enable" === t
14400                  ? (a[s].classList.add("apexcharts-active"),
14401                    (a[s].style.display = e.config.tooltip.items.display))
14402                  : (a[s].classList.remove("apexcharts-active"),
14403                    (a[s].style.display = "none"));
14404            },
14405          },
14406        ]),
14407        t
14408      );
14409    })(),
14410    gt = (function () {
14411      function t(e) {
14412        a(this, t),
14413          (this.w = e.w),
14414          (this.ctx = e.ctx),
14415          (this.ttCtx = e),
14416          (this.tooltipUtil = new dt(e));
14417      }
14418      return (
14419        r(t, [
14420          {
14421            key: "drawSeriesTexts",
14422            value: function (t) {
14423              var e = t.shared,
14424                i = void 0 === e || e,
14425                a = t.ttItems,
14426                s = t.i,
14427                r = void 0 === s ? 0 : s,
14428                o = t.j,
14429                n = void 0 === o ? null : o,
14430                l = t.y1,
14431                h = t.y2,
14432                c = t.e,
14433                d = this.w;
14434              void 0 !== d.config.tooltip.custom
14435                ? this.handleCustomTooltip({ i: r, j: n, y1: l, y2: h, w: d })
14436                : this.toggleActiveInactiveSeries(i);
14437              var g = this.getValuesToPrint({ i: r, j: n });
14438              this.printLabels({
14439                i: r,
14440                j: n,
14441                values: g,
14442                ttItems: a,
14443                shared: i,
14444                e: c,
14445              });
14446              var u = this.ttCtx.getElTooltip();
14447              (this.ttCtx.tooltipRect.ttWidth =
14448                u.getBoundingClientRect().width),
14449                (this.ttCtx.tooltipRect.ttHeight =
14450                  u.getBoundingClientRect().height);
14451            },
14452          },
14453          {
14454            key: "printLabels",
14455            value: function (t) {
14456              var i,
14457                a = this,
14458                s = t.i,
14459                r = t.j,
14460                o = t.values,
14461                n = t.ttItems,
14462                l = t.shared,
14463                h = t.e,
14464                c = this.w,
14465                d = [],
14466                g = function (t) {
14467                  return (
14468                    c.globals.seriesGoals[t] &&
14469                    c.globals.seriesGoals[t][r] &&
14470                    Array.isArray(c.globals.seriesGoals[t][r])
14471                  );
14472                },
14473                u = o.xVal,
14474                p = o.zVal,
14475                f = o.xAxisTTVal,
14476                x = "",
14477                b = c.globals.colors[s];
14478              null !== r &&
14479                c.config.plotOptions.bar.distributed &&
14480                (b = c.globals.colors[r]);
14481              for (
14482                var v = function (t, o) {
14483                    var v = a.getFormatters(s);
14484                    (x = a.getSeriesName({
14485                      fn: v.yLbTitleFormatter,
14486                      index: s,
14487                      seriesIndex: s,
14488                      j: r,
14489                    })),
14490                      "treemap" === c.config.chart.type &&
14491                        (x = v.yLbTitleFormatter(
14492                          String(c.config.series[s].data[r].x),
14493                          {
14494                            series: c.globals.series,
14495                            seriesIndex: s,
14496                            dataPointIndex: r,
14497                            w: c,
14498                          }
14499                        ));
14500                    var m = c.config.tooltip.inverseOrder ? o : t;
14501                    if (c.globals.axisCharts) {
14502                      var y = function (t) {
14503                        var e, i, a, s;
14504                        return c.globals.isRangeData
14505                          ? v.yLbFormatter(
14506                              null === (e = c.globals.seriesRangeStart) ||
14507                                void 0 === e ||
14508                                null === (i = e[t]) ||
14509                                void 0 === i
14510                                ? void 0
14511                                : i[r],
14512                              {
14513                                series: c.globals.seriesRangeStart,
14514                                seriesIndex: t,
14515                                dataPointIndex: r,
14516                                w: c,
14517                              }
14518                            ) +
14519                              " - " +
14520                              v.yLbFormatter(
14521                                null === (a = c.globals.seriesRangeEnd) ||
14522                                  void 0 === a ||
14523                                  null === (s = a[t]) ||
14524                                  void 0 === s
14525                                  ? void 0
14526                                  : s[r],
14527                                {
14528                                  series: c.globals.seriesRangeEnd,
14529                                  seriesIndex: t,
14530                                  dataPointIndex: r,
14531                                  w: c,
14532                                }
14533                              )
14534                          : v.yLbFormatter(c.globals.series[t][r], {
14535                              series: c.globals.series,
14536                              seriesIndex: t,
14537                              dataPointIndex: r,
14538                              w: c,
14539                            });
14540                      };
14541                      if (l)
14542                        (v = a.getFormatters(m)),
14543                          (x = a.getSeriesName({
14544                            fn: v.yLbTitleFormatter,
14545                            index: m,
14546                            seriesIndex: s,
14547                            j: r,
14548                          })),
14549                          (b = c.globals.colors[m]),
14550                          (i = y(m)),
14551                          g(m) &&
14552                            (d = c.globals.seriesGoals[m][r].map(function (t) {
14553                              return {
14554                                attrs: t,
14555                                val: v.yLbFormatter(t.value, {
14556                                  seriesIndex: m,
14557                                  dataPointIndex: r,
14558                                  w: c,
14559                                }),
14560                              };
14561                            }));
14562                      else {
14563                        var w,
14564                          k =
14565                            null == h || null === (w = h.target) || void 0 === w
14566                              ? void 0
14567                              : w.getAttribute("fill");
14568                        k &&
14569                          (b =
14570                            -1 !== k.indexOf("url")
14571                              ? document
14572                                  .querySelector(k.substr(4).slice(0, -1))
14573                                  .childNodes[0].getAttribute("stroke")
14574                              : k),
14575                          (i = y(s)),
14576                          g(s) &&
14577                            Array.isArray(c.globals.seriesGoals[s][r]) &&
14578                            (d = c.globals.seriesGoals[s][r].map(function (t) {
14579                              return {
14580                                attrs: t,
14581                                val: v.yLbFormatter(t.value, {
14582                                  seriesIndex: s,
14583                                  dataPointIndex: r,
14584                                  w: c,
14585                                }),
14586                              };
14587                            }));
14588                      }
14589                    }
14590                    null === r &&
14591                      (i = v.yLbFormatter(
14592                        c.globals.series[s],
14593                        e(e({}, c), {}, { seriesIndex: s, dataPointIndex: s })
14594                      )),
14595                      a.DOMHandling({
14596                        i: s,
14597                        t: m,
14598                        j: r,
14599                        ttItems: n,
14600                        values: {
14601                          val: i,
14602                          goalVals: d,
14603                          xVal: u,
14604                          xAxisTTVal: f,
14605                          zVal: p,
14606                        },
14607                        seriesName: x,
14608                        shared: l,
14609                        pColor: b,
14610                      });
14611                  },
14612                  m = 0,
14613                  y = c.globals.series.length - 1;
14614                m < c.globals.series.length;
14615                m++, y--
14616              )
14617                v(m, y);
14618            },
14619          },
14620          {
14621            key: "getFormatters",
14622            value: function (t) {
14623              var e,
14624                i = this.w,
14625                a = i.globals.yLabelFormatters[t];
14626              return (
14627                void 0 !== i.globals.ttVal
14628                  ? Array.isArray(i.globals.ttVal)
14629                    ? ((a = i.globals.ttVal[t] && i.globals.ttVal[t].formatter),
14630                      (e =
14631                        i.globals.ttVal[t] &&
14632                        i.globals.ttVal[t].title &&
14633                        i.globals.ttVal[t].title.formatter))
14634                    : ((a = i.globals.ttVal.formatter),
14635                      "function" == typeof i.globals.ttVal.title.formatter &&
14636                        (e = i.globals.ttVal.title.formatter))
14637                  : (e = i.config.tooltip.y.title.formatter),
14638                "function" != typeof a &&
14639                  (a = i.globals.yLabelFormatters[0]
14640                    ? i.globals.yLabelFormatters[0]
14641                    : function (t) {
14642                        return t;
14643                      }),
14644                "function" != typeof e &&
14645                  (e = function (t) {
14646                    return t;
14647                  }),
14648                { yLbFormatter: a, yLbTitleFormatter: e }
14649              );
14650            },
14651          },
14652          {
14653            key: "getSeriesName",
14654            value: function (t) {
14655              var e = t.fn,
14656                i = t.index,
14657                a = t.seriesIndex,
14658                s = t.j,
14659                r = this.w;
14660              return e(String(r.globals.seriesNames[i]), {
14661                series: r.globals.series,
14662                seriesIndex: a,
14663                dataPointIndex: s,
14664                w: r,
14665              });
14666            },
14667          },
14668          {
14669            key: "DOMHandling",
14670            value: function (t) {
14671              t.i;
14672              var e = t.t,
14673                i = t.j,
14674                a = t.ttItems,
14675                s = t.values,
14676                r = t.seriesName,
14677                o = t.shared,
14678                n = t.pColor,
14679                l = this.w,
14680                h = this.ttCtx,
14681                c = s.val,
14682                d = s.goalVals,
14683                g = s.xVal,
14684                u = s.xAxisTTVal,
14685                p = s.zVal,
14686                f = null;
14687              (f = a[e].children),
14688                l.config.tooltip.fillSeriesColor &&
14689                  ((a[e].style.backgroundColor = n),
14690                  (f[0].style.display = "none")),
14691                h.showTooltipTitle &&
14692                  (null === h.tooltipTitle &&
14693                    (h.tooltipTitle = l.globals.dom.baseEl.querySelector(
14694                      ".apexcharts-tooltip-title"
14695                    )),
14696                  (h.tooltipTitle.innerHTML = g)),
14697                h.isXAxisTooltipEnabled &&
14698                  (h.xaxisTooltipText.innerHTML = "" !== u ? u : g);
14699              var x = a[e].querySelector(".apexcharts-tooltip-text-y-label");
14700              x && (x.innerHTML = r || "");
14701              var b = a[e].querySelector(".apexcharts-tooltip-text-y-value");
14702              b && (b.innerHTML = void 0 !== c ? c : ""),
14703                f[0] &&
14704                  f[0].classList.contains("apexcharts-tooltip-marker") &&
14705                  (l.config.tooltip.marker.fillColors &&
14706                    Array.isArray(l.config.tooltip.marker.fillColors) &&
14707                    (n = l.config.tooltip.marker.fillColors[e]),
14708                  (f[0].style.backgroundColor = n)),
14709                l.config.tooltip.marker.show || (f[0].style.display = "none");
14710              var v = a[e].querySelector(
14711                  ".apexcharts-tooltip-text-goals-label"
14712                ),
14713                m = a[e].querySelector(".apexcharts-tooltip-text-goals-value");
14714              if (d.length && l.globals.seriesGoals[e]) {
14715                var y = function () {
14716                  var t = "<div >",
14717                    e = "<div>";
14718                  d.forEach(function (i, a) {
14719                    (t +=
14720                      ' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '
14721                        .concat(
14722                          i.attrs.strokeColor,
14723                          '; height: 3px; border-radius: 0; top: 5px;"></span> '
14724                        )
14725                        .concat(i.attrs.name, "</div>")),
14726                      (e += "<div>".concat(i.val, "</div>"));
14727                  }),
14728                    (v.innerHTML = t + "</div>"),
14729                    (m.innerHTML = e + "</div>");
14730                };
14731                o
14732                  ? l.globals.seriesGoals[e][i] &&
14733                    Array.isArray(l.globals.seriesGoals[e][i])
14734                    ? y()
14735                    : ((v.innerHTML = ""), (m.innerHTML = ""))
14736                  : y();
14737              } else (v.innerHTML = ""), (m.innerHTML = "");
14738              null !== p &&
14739                ((a[e].querySelector(
14740                  ".apexcharts-tooltip-text-z-label"
14741                ).innerHTML = l.config.tooltip.z.title),
14742                (a[e].querySelector(
14743                  ".apexcharts-tooltip-text-z-value"
14744                ).innerHTML = void 0 !== p ? p : ""));
14745              if (o && f[0]) {
14746                if (l.config.tooltip.hideEmptySeries) {
14747                  var w = a[e].querySelector(".apexcharts-tooltip-marker"),
14748                    k = a[e].querySelector(".apexcharts-tooltip-text");
14749                  0 == parseFloat(c)
14750                    ? ((w.style.display = "none"), (k.style.display = "none"))
14751                    : ((w.style.display = "block"),
14752                      (k.style.display = "block"));
14753                }
14754                null == c ||
14755                l.globals.ancillaryCollapsedSeriesIndices.indexOf(e) > -1 ||
14756                l.globals.collapsedSeriesIndices.indexOf(e) > -1
14757                  ? (f[0].parentNode.style.display = "none")
14758                  : (f[0].parentNode.style.display =
14759                      l.config.tooltip.items.display);
14760              }
14761            },
14762          },
14763          {
14764            key: "toggleActiveInactiveSeries",
14765            value: function (t) {
14766              var e = this.w;
14767              if (t) this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");
14768              else {
14769                this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");
14770                var i = e.globals.dom.baseEl.querySelector(
14771                  ".apexcharts-tooltip-series-group"
14772                );
14773                i &&
14774                  (i.classList.add("apexcharts-active"),
14775                  (i.style.display = e.config.tooltip.items.display));
14776              }
14777            },
14778          },
14779          {
14780            key: "getValuesToPrint",
14781            value: function (t) {
14782              var e = t.i,
14783                i = t.j,
14784                a = this.w,
14785                s = this.ctx.series.filteredSeriesX(),
14786                r = "",
14787                o = "",
14788                n = null,
14789                l = null,
14790                h = {
14791                  series: a.globals.series,
14792                  seriesIndex: e,
14793                  dataPointIndex: i,
14794                  w: a,
14795                },
14796                c = a.globals.ttZFormatter;
14797              null === i
14798                ? (l = a.globals.series[e])
14799                : a.globals.isXNumeric && "treemap" !== a.config.chart.type
14800                ? ((r = s[e][i]),
14801                  0 === s[e].length &&
14802                    (r = s[this.tooltipUtil.getFirstActiveXArray(s)][i]))
14803                : (r =
14804                    void 0 !== a.globals.labels[i] ? a.globals.labels[i] : "");
14805              var d = r;
14806              a.globals.isXNumeric && "datetime" === a.config.xaxis.type
14807                ? (r = new M(this.ctx).xLabelFormat(
14808                    a.globals.ttKeyFormatter,
14809                    d,
14810                    d,
14811                    {
14812                      i: void 0,
14813                      dateFormatter: new I(this.ctx).formatDate,
14814                      w: this.w,
14815                    }
14816                  ))
14817                : (r = a.globals.isBarHorizontal
14818                    ? a.globals.yLabelFormatters[0](d, h)
14819                    : a.globals.xLabelFormatter(d, h));
14820              return (
14821                void 0 !== a.config.tooltip.x.formatter &&
14822                  (r = a.globals.ttKeyFormatter(d, h)),
14823                a.globals.seriesZ.length > 0 &&
14824                  a.globals.seriesZ[e].length > 0 &&
14825                  (n = c(a.globals.seriesZ[e][i], a)),
14826                (o =
14827                  "function" == typeof a.config.xaxis.tooltip.formatter
14828                    ? a.globals.xaxisTooltipFormatter(d, h)
14829                    : r),
14830                {
14831                  val: Array.isArray(l) ? l.join(" ") : l,
14832                  xVal: Array.isArray(r) ? r.join(" ") : r,
14833                  xAxisTTVal: Array.isArray(o) ? o.join(" ") : o,
14834                  zVal: n,
14835                }
14836              );
14837            },
14838          },
14839          {
14840            key: "handleCustomTooltip",
14841            value: function (t) {
14842              var e = t.i,
14843                i = t.j,
14844                a = t.y1,
14845                s = t.y2,
14846                r = t.w,
14847                o = this.ttCtx.getElTooltip(),
14848                n = r.config.tooltip.custom;
14849              Array.isArray(n) && n[e] && (n = n[e]),
14850                (o.innerHTML = n({
14851                  ctx: this.ctx,
14852                  series: r.globals.series,
14853                  seriesIndex: e,
14854                  dataPointIndex: i,
14855                  y1: a,
14856                  y2: s,
14857                  w: r,
14858                }));
14859            },
14860          },
14861        ]),
14862        t
14863      );
14864    })(),
14865    ut = (function () {
14866      function t(e) {
14867        a(this, t), (this.ttCtx = e), (this.ctx = e.ctx), (this.w = e.w);
14868      }
14869      return (
14870        r(t, [
14871          {
14872            key: "moveXCrosshairs",
14873            value: function (t) {
14874              var e =
14875                  arguments.length > 1 && void 0 !== arguments[1]
14876                    ? arguments[1]
14877                    : null,
14878                i = this.ttCtx,
14879                a = this.w,
14880                s = i.getElXCrosshairs(),
14881                r = t - i.xcrosshairsWidth / 2,
14882                o = a.globals.labels.slice().length;
14883              if (
14884                (null !== e && (r = (a.globals.gridWidth / o) * e),
14885                null === s ||
14886                  a.globals.isBarHorizontal ||
14887                  (s.setAttribute("x", r),
14888                  s.setAttribute("x1", r),
14889                  s.setAttribute("x2", r),
14890                  s.setAttribute("y2", a.globals.gridHeight),
14891                  s.classList.add("apexcharts-active")),
14892                r < 0 && (r = 0),
14893                r > a.globals.gridWidth && (r = a.globals.gridWidth),
14894                i.isXAxisTooltipEnabled)
14895              ) {
14896                var n = r;
14897                ("tickWidth" !== a.config.xaxis.crosshairs.width &&
14898                  "barWidth" !== a.config.xaxis.crosshairs.width) ||
14899                  (n = r + i.xcrosshairsWidth / 2),
14900                  this.moveXAxisTooltip(n);
14901              }
14902            },
14903          },
14904          {
14905            key: "moveYCrosshairs",
14906            value: function (t) {
14907              var e = this.ttCtx;
14908              null !== e.ycrosshairs &&
14909                m.setAttrs(e.ycrosshairs, { y1: t, y2: t }),
14910                null !== e.ycrosshairsHidden &&
14911                  m.setAttrs(e.ycrosshairsHidden, { y1: t, y2: t });
14912            },
14913          },
14914          {
14915            key: "moveXAxisTooltip",
14916            value: function (t) {
14917              var e = this.w,
14918                i = this.ttCtx;
14919              if (null !== i.xaxisTooltip && 0 !== i.xcrosshairsWidth) {
14920                i.xaxisTooltip.classList.add("apexcharts-active");
14921                var a =
14922                  i.xaxisOffY +
14923                  e.config.xaxis.tooltip.offsetY +
14924                  e.globals.translateY +
14925                  1 +
14926                  e.config.xaxis.offsetY;
14927                if (
14928                  ((t -= i.xaxisTooltip.getBoundingClientRect().width / 2),
14929                  !isNaN(t))
14930                ) {
14931                  t += e.globals.translateX;
14932                  var s;
14933                  (s = new m(this.ctx).getTextRects(
14934                    i.xaxisTooltipText.innerHTML
14935                  )),
14936                    (i.xaxisTooltipText.style.minWidth = s.width + "px"),
14937                    (i.xaxisTooltip.style.left = t + "px"),
14938                    (i.xaxisTooltip.style.top = a + "px");
14939                }
14940              }
14941            },
14942          },
14943          {
14944            key: "moveYAxisTooltip",
14945            value: function (t) {
14946              var e = this.w,
14947                i = this.ttCtx;
14948              null === i.yaxisTTEls &&
14949                (i.yaxisTTEls = e.globals.dom.baseEl.querySelectorAll(
14950                  ".apexcharts-yaxistooltip"
14951                ));
14952              var a = parseInt(i.ycrosshairsHidden.getAttribute("y1"), 10),
14953                s = e.globals.translateY + a,
14954                r = i.yaxisTTEls[t].getBoundingClientRect().height,
14955                o = e.globals.translateYAxisX[t] - 2;
14956              e.config.yaxis[t].opposite && (o -= 26),
14957                (s -= r / 2),
14958                -1 === e.globals.ignoreYAxisIndexes.indexOf(t)
14959                  ? (i.yaxisTTEls[t].classList.add("apexcharts-active"),
14960                    (i.yaxisTTEls[t].style.top = s + "px"),
14961                    (i.yaxisTTEls[t].style.left =
14962                      o + e.config.yaxis[t].tooltip.offsetX + "px"))
14963                  : i.yaxisTTEls[t].classList.remove("apexcharts-active");
14964            },
14965          },
14966          {
14967            key: "moveTooltip",
14968            value: function (t, e) {
14969              var i =
14970                  arguments.length > 2 && void 0 !== arguments[2]
14971                    ? arguments[2]
14972                    : null,
14973                a = this.w,
14974                s = this.ttCtx,
14975                r = s.getElTooltip(),
14976                o = s.tooltipRect,
14977                n = null !== i ? parseFloat(i) : 1,
14978                l = parseFloat(t) + n + 5,
14979                h = parseFloat(e) + n / 2;
14980              if (
14981                (l >
14981 a.globals.gridWidth / 2 && (l = l - o.ttWidth - n - 10),
14982                l > a.globals.gridWidth - o.ttWidth - 10 &&
14983                  (l = a.globals.gridWidth - o.ttWidth),
14984                l < -20 && (l = -20),
14985                a.config.tooltip.followCursor)
14986              ) {
14987                var c = s.getElGrid().getBoundingClientRect();
14988                (l = s.e.clientX - c.left) > a.globals.gridWidth / 2 &&
14989                  (l -= s.tooltipRect.ttWidth),
14990                  (h = s.e.clientY + a.globals.translateY - c.top) >
14991                    a.globals.gridHeight / 2 && (h -= s.tooltipRect.ttHeight);
14992              } else
14993                a.globals.isBarHorizontal ||
14994                  (o.ttHeight / 2 + h > a.globals.gridHeight &&
14995                    (h =
14996                      a.globals.gridHeight -
14997                      o.ttHeight +
14998                      a.globals.translateY));
14999              isNaN(l) ||
15000                ((l += a.globals.translateX),
15001                (r.style.left = l + "px"),
15002                (r.style.top = h + "px"));
15003            },
15004          },
15005          {
15006            key: "moveMarkers",
15007            value: function (t, e) {
15008              var i = this.w,
15009                a = this.ttCtx;
15010              if (i.globals.markers.size[t] > 0)
15011                for (
15012                  var s = i.globals.dom.baseEl.querySelectorAll(
15013                      " .apexcharts-series[data\\:realIndex='".concat(
15014                        t,
15015                        "'] .apexcharts-marker"
15016                      )
15017                    ),
15018                    r = 0;
15019                  r < s.length;
15020                  r++
15021                )
15022                  parseInt(s[r].getAttribute("rel"), 10) === e &&
15023                    (a.marker.resetPointsSize(),
15024                    a.marker.enlargeCurrentPoint(e, s[r]));
15025              else
15026                a.marker.resetPointsSize(), this.moveDynamicPointOnHover(e, t);
15027            },
15028          },
15029          {
15030            key: "moveDynamicPointOnHover",
15031            value: function (t, e) {
15032              var i,
15033                a,
15034                s = this.w,
15035                r = this.ttCtx,
15036                o = s.globals.pointsArray,
15037                n = r.tooltipUtil.getHoverMarkerSize(e),
15038                l = s.config.series[e].type;
15039              if (
15040                !l ||
15041                ("column" !== l && "candlestick" !== l && "boxPlot" !== l)
15042              ) {
15043                (i = o[e][t][0]), (a = o[e][t][1] ? o[e][t][1] : 0);
15044                var h = s.globals.dom.baseEl.querySelector(
15045                  ".apexcharts-series[data\\:realIndex='".concat(
15046                    e,
15047                    "'] .apexcharts-series-markers circle"
15048                  )
15049                );
15050                h &&
15051                  a < s.globals.gridHeight &&
15052                  a > 0 &&
15053                  (h.setAttribute("r", n),
15054                  h.setAttribute("cx", i),
15055                  h.setAttribute("cy", a)),
15056                  this.moveXCrosshairs(i),
15057                  r.fixedTooltip || this.moveTooltip(i, a, n);
15058              }
15059            },
15060          },
15061          {
15062            key: "moveDynamicPointsOnHover",
15063            value: function (t) {
15064              var e,
15065                i = this.ttCtx,
15066                a = i.w,
15067                s = 0,
15068                r = 0,
15069                o = a.globals.pointsArray;
15070              e = new N(this.ctx).getActiveConfigSeriesIndex("asc", [
15071                "line",
15072                "area",
15073                "scatter",
15074                "bubble",
15075              ]);
15076              var n = i.tooltipUtil.getHoverMarkerSize(e);
15077              o[e] && ((s = o[e][t][0]), (r = o[e][t][1]));
15078              var l = i.tooltipUtil.getAllMarkers();
15079              if (null !== l)
15080                for (var h = 0; h < a.globals.series.length; h++) {
15081                  var c = o[h];
15082                  if (
15083                    (a.globals.comboCharts &&
15084                      void 0 === c &&
15085                      l.splice(h, 0, null),
15086                    c && c.length)
15087                  ) {
15088                    var d = o[h][t][1],
15089                      g = void 0;
15090                    if (
15091                      (l[h].setAttribute("cx", s),
15092                      "rangeArea" === a.config.chart.type &&
15093                        !a.globals.comboCharts)
15094                    ) {
15095                      var u = t + a.globals.series[h].length;
15096                      (g = o[h][u][1]), (d -= Math.abs(d - g) / 2);
15097                    }
15098                    null !== d &&
15099                    !isNaN(d) &&
15100                    d < a.globals.gridHeight + n &&
15101                    d + n > 0
15102                      ? (l[h] && l[h].setAttribute("r", n),
15103                        l[h] && l[h].setAttribute("cy", d))
15104                      : l[h] && l[h].setAttribute("r", 0);
15105                  }
15106                }
15107              this.moveXCrosshairs(s),
15108                i.fixedTooltip ||
15109                  this.moveTooltip(s, r || a.globals.gridHeight, n);
15110            },
15111          },
15112          {
15113            key: "moveStickyTooltipOverBars",
15114            value: function (t, e) {
15115              var i = this.w,
15116                a = this.ttCtx,
15117                s = i.globals.columnSeries
15118                  ? i.globals.columnSeries.length
15119                  : i.globals.series.length,
15120                r =
15121                  s >= 2 && s % 2 == 0
15122                    ? Math.floor(s / 2)
15123                    : Math.floor(s / 2) + 1;
15124              i.globals.isBarHorizontal &&
15125                (r = new N(this.ctx).getActiveConfigSeriesIndex("desc") + 1);
15126              var o = i.globals.dom.baseEl.querySelector(
15127                ".apexcharts-bar-series .apexcharts-series[rel='"
15128                  .concat(r, "'] path[j='")
15129                  .concat(
15130                    t,
15131                    "'], .apexcharts-candlestick-series .apexcharts-series[rel='"
15132                  )
15133                  .concat(r, "'] path[j='")
15134                  .concat(
15135                    t,
15136                    "'], .apexcharts-boxPlot-series .apexcharts-series[rel='"
15137                  )
15138                  .concat(r, "'] path[j='")
15139                  .concat(
15140                    t,
15141                    "'], .apexcharts-rangebar-series .apexcharts-series[rel='"
15142                  )
15143                  .concat(r, "'] path[j='")
15144                  .concat(t, "']")
15145              );
15146              o ||
15147                "number" != typeof e ||
15148                (o = i.globals.dom.baseEl.querySelector(
15149                  ".apexcharts-bar-series .apexcharts-series[data\\:realIndex='"
15150                    .concat(e, "'] path[j='")
15151                    .concat(
15152                      t,
15153                      "'],\n        .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='"
15154                    )
15155                    .concat(e, "'] path[j='")
15156                    .concat(
15157                      t,
15158                      "'],\n        .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='"
15159                    )
15160                    .concat(e, "'] path[j='")
15161                    .concat(
15162                      t,
15163                      "'],\n        .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='"
15164                    )
15165                    .concat(e, "'] path[j='")
15166                    .concat(t, "']")
15167                ));
15168              var n = o ? parseFloat(o.getAttribute("cx")) : 0,
15169                l = o ? parseFloat(o.getAttribute("cy")) : 0,
15170                h = o ? parseFloat(o.getAttribute("barWidth")) : 0,
15171                c = a.getElGrid().getBoundingClientRect(),
15172                d =
15173                  o &&
15174                  (o.classList.contains("apexcharts-candlestick-area") ||
15175                    o.classList.contains("apexcharts-boxPlot-area"));
15176              i.globals.isXNumeric
15177                ? (o && !d && (n -= s % 2 != 0 ? h / 2 : 0),
15178                  o && d && i.globals.comboCharts && (n -= h / 2))
15179                : i.globals.isBarHorizontal ||
15180                  ((n =
15181                    a.xAxisTicksPositions[t - 1] +
15182                    a.dataPointsDividedWidth / 2),
15183                  isNaN(n) &&
15184                    (n =
15185                      a.xAxisTicksPositions[t] - a.dataPointsDividedWidth / 2)),
15186                i.globals.isBarHorizontal
15187                  ? (l -= a.tooltipRect.ttHeight)
15188                  : i.config.tooltip.followCursor
15189                  ? (l = a.e.clientY - c.top - a.tooltipRect.ttHeight / 2)
15190                  : l + a.tooltipRect.ttHeight + 15 > i.globals.gridHeight &&
15191                    (l = i.globals.gridHeight),
15192                i.globals.isBarHorizontal || this.moveXCrosshairs(n),
15193                a.fixedTooltip ||
15194                  this.moveTooltip(n, l || i.globals.gridHeight);
15195            },
15196          },
15197        ]),
15198        t
15199      );
15200    })(),
15201    pt = (function () {
15202      function t(e) {
15203        a(this, t),
15204          (this.w = e.w),
15205          (this.ttCtx = e),
15206          (this.ctx = e.ctx),
15207          (this.tooltipPosition = new ut(e));
15208      }
15209      return (
15210        r(t, [
15211          {
15212            key: "drawDynamicPoints",
15213            value: function () {
15214              var t = this.w,
15215                e = new m(this.ctx),
15216                i = new H(this.ctx),
15217                a = t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
15218              (a = u(a)),
15219                t.config.chart.stacked &&
15220                  a.sort(function (t, e) {
15221                    return (
15222                      parseFloat(t.getAttribute("data:realIndex")) -
15223                      parseFloat(e.getAttribute("data:realIndex"))
15224                    );
15225                  });
15226              for (var s = 0; s < a.length; s++) {
15227                var r = a[s].querySelector(".apexcharts-series-markers-wrap");
15228                if (null !== r) {
15229                  var o = void 0,
15230                    n = "apexcharts-marker w".concat(
15231                      (Math.random() + 1).toString(36).substring(4)
15232                    );
15233                  ("line" !== t.config.chart.type &&
15234                    "area" !== t.config.chart.type) ||
15235                    t.globals.comboCharts ||
15236                    t.config.tooltip.intersect ||
15237                    (n += " no-pointer-events");
15238                  var l = i.getMarkerConfig({
15239                    cssClass: n,
15240                    seriesIndex: Number(r.getAttribute("data:realIndex")),
15241                  });
15242                  (o = e.drawMarker(0, 0, l)).node.setAttribute(
15243                    "default-marker-size",
15244                    0
15245                  );
15246                  var h = document.createElementNS(t.globals.SVGNS, "g");
15247                  h.classList.add("apexcharts-series-markers"),
15248                    h.appendChild(o.node),
15249                    r.appendChild(h);
15250                }
15251              }
15252            },
15253          },
15254          {
15255            key: "enlargeCurrentPoint",
15256            value: function (t, e) {
15257              var i =
15258                  arguments.length > 2 && void 0 !== arguments[2]
15259                    ? arguments[2]
15260                    : null,
15261                a =
15262                  arguments.length > 3 && void 0 !== arguments[3]
15263                    ? arguments[3]
15264                    : null,
15265                s = this.w;
15266              "bubble" !== s.config.chart.type && this.newPointSize(t, e);
15267              var r = e.getAttribute("cx"),
15268                o = e.getAttribute("cy");
15269              if (
15270                (null !== i && null !== a && ((r = i), (o = a)),
15271                this.tooltipPosition.moveXCrosshairs(r),
15272                !this.fixedTooltip)
15273              ) {
15274                if ("radar" === s.config.chart.type) {
15275                  var n = this.ttCtx.getElGrid().getBoundingClientRect();
15276                  r = this.ttCtx.e.clientX - n.left;
15277                }
15278                this.tooltipPosition.moveTooltip(
15279                  r,
15280                  o,
15281                  s.config.markers.hover.size
15282                );
15283              }
15284            },
15285          },
15286          {
15287            key: "enlargePoints",
15288            value: function (t) {
15289              for (
15290                var e = this.w,
15291                  i = this,
15292                  a = this.ttCtx,
15293                  s = t,
15294                  r = e.globals.dom.baseEl.querySelectorAll(
15295                    ".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"
15296                  ),
15297                  o = e.config.markers.hover.size,
15298                  n = 0;
15299                n < r.length;
15300                n++
15301              ) {
15302                var l = r[n].getAttribute("rel"),
15303                  h = r[n].getAttribute("index");
15304                if (
15305                  (void 0 === o &&
15306                    (o =
15307                      e.globals.markers.size[h] +
15308                      e.config.markers.hover.sizeOffset),
15309                  s === parseInt(l, 10))
15310                ) {
15311                  i.newPointSize(s, r[n]);
15312                  var c = r[n].getAttribute("cx"),
15313                    d = r[n].getAttribute("cy");
15314                  i.tooltipPosition.moveXCrosshairs(c),
15315                    a.fixedTooltip || i.tooltipPosition.moveTooltip(c, d, o);
15316                } else i.oldPointSize(r[n]);
15317              }
15318            },
15319          },
15320          {
15321            key: "newPointSize",
15322            value: function (t, e) {
15323              var i = this.w,
15324                a = i.config.markers.hover.size,
15325                s = 0 === t ? e.parentNode.firstChild : e.parentNode.lastChild;
15326              if ("0" !== s.getAttribute("default-marker-size")) {
15327                var r = parseInt(s.getAttribute("index"), 10);
15328                void 0 === a &&
15329                  (a =
15330                    i.globals.markers.size[r] +
15331                    i.config.markers.hover.sizeOffset),
15332                  a < 0 && (a = 0),
15333                  s.setAttribute("r", a);
15334              }
15335            },
15336          },
15337          {
15338            key: "oldPointSize",
15339            value: function (t) {
15340              var e = parseFloat(t.getAttribute("default-marker-size"));
15341              t.setAttribute("r", e);
15342            },
15343          },
15344          {
15345            key: "resetPointsSize",
15346            value: function () {
15347              for (
15348                var t = this.w.globals.dom.baseEl.querySelectorAll(
15349                    ".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"
15350                  ),
15351                  e = 0;
15352                e < t.length;
15353                e++
15354              ) {
15355                var i = parseFloat(t[e].getAttribute("default-marker-size"));
15356                x.isNumber(i) && i >= 0
15357                  ? t[e].setAttribute("r", i)
15358                  : t[e].setAttribute("r", 0);
15359              }
15360            },
15361          },
15362        ]),
15363        t
15364      );
15365    })(),
15366    ft = (function () {
15367      function t(e) {
15368        a(this, t), (this.w = e.w);
15369        var i = this.w;
15370        (this.ttCtx = e),
15371          (this.isVerticalGroupedRangeBar =
15372            !i.globals.isBarHorizontal &&
15373            "rangeBar" === i.config.chart.type &&
15374            i.config.plotOptions.bar.rangeBarGroupRows);
15375      }
15376      return (
15377        r(t, [
15378          {
15379            key: "getAttr",
15380            value: function (t, e) {
15381              return parseFloat(t.target.getAttribute(e));
15382            },
15383          },
15384          {
15385            key: "handleHeatTreeTooltip",
15386            value: function (t) {
15387              var e = t.e,
15388                i = t.opt,
15389                a = t.x,
15390                s = t.y,
15391                r = t.type,
15392                o = this.ttCtx,
15393                n = this.w;
15394              if (
15395                e.target.classList.contains("apexcharts-".concat(r, "-rect"))
15396              ) {
15397                var l = this.getAttr(e, "i"),
15398                  h = this.getAttr(e, "j"),
15399                  c = this.getAttr(e, "cx"),
15400                  d = this.getAttr(e, "cy"),
15401                  g = this.getAttr(e, "width"),
15402                  u = this.getAttr(e, "height");
15403                if (
15404                  (o.tooltipLabels.drawSeriesTexts({
15405                    ttItems: i.ttItems,
15406                    i: l,
15407                    j: h,
15408                    shared: !1,
15409                    e: e,
15410                  }),
15411                  (n.globals.capturedSeriesIndex = l),
15412                  (n.globals.capturedDataPointIndex = h),
15413                  (a = c + o.tooltipRect.ttWidth / 2 + g),
15414                  (s = d + o.tooltipRect.ttHeight / 2 - u / 2),
15415                  o.tooltipPosition.moveXCrosshairs(c + g / 2),
15416                  a > n.globals.gridWidth / 2 &&
15417                    (a = c - o.tooltipRect.ttWidth / 2 + g),
15418                  o.w.config.tooltip.followCursor)
15419                ) {
15420                  var p = n.globals.dom.elWrap.getBoundingClientRect();
15421                  (a =
15422                    n.globals.clientX -
15423                    p.left -
15424                    (a > n.globals.gridWidth / 2 ? o.tooltipRect.ttWidth : 0)),
15425                    (s =
15426                      n.globals.clientY -
15427                      p.top -
15428                      (s > n.globals.gridHeight / 2
15429                        ? o.tooltipRect.ttHeight
15430                        : 0));
15431                }
15432              }
15433              return { x: a, y: s };
15434            },
15435          },
15436          {
15437            key: "handleMarkerTooltip",
15438            value: function (t) {
15439              var e,
15440                i,
15441                a = t.e,
15442                s = t.opt,
15443                r = t.x,
15444                o = t.y,
15445                n = this.w,
15446                l = this.ttCtx;
15447              if (a.target.classList.contains("apexcharts-marker")) {
15448                var h = parseInt(s.paths.getAttribute("cx"), 10),
15449                  c = parseInt(s.paths.getAttribute("cy"), 10),
15450                  d = parseFloat(s.paths.getAttribute("val"));
15451                if (
15452                  ((i = parseInt(s.paths.getAttribute("rel"), 10)),
15453                  (e =
15454                    parseInt(
15455                      s.paths.parentNode.parentNode.parentNode.getAttribute(
15456                        "rel"
15457                      ),
15458                      10
15459                    ) - 1),
15460                  l.intersect)
15461                ) {
15462                  var g = x.findAncestor(s.paths, "apexcharts-series");
15463                  g && (e = parseInt(g.getAttribute("data:realIndex"), 10));
15464                }
15465                if (
15466                  (l.tooltipLabels.drawSeriesTexts({
15467                    ttItems: s.ttItems,
15468                    i: e,
15469                    j: i,
15470                    shared: !l.showOnIntersect && n.config.tooltip.shared,
15471                    e: a,
15472                  }),
15473                  "mouseup" === a.type && l.markerClick(a, e, i),
15474                  (n.globals.capturedSeriesIndex = e),
15475                  (n.globals.capturedDataPointIndex = i),
15476                  (r = h),
15477                  (o = c + n.globals.translateY - 1.4 * l.tooltipRect.ttHeight),
15478                  l.w.config.tooltip.followCursor)
15479                ) {
15480                  var u = l.getElGrid().getBoundingClientRect();
15481                  o = l.e.clientY + n.globals.translateY - u.top;
15482                }
15483                d < 0 && (o = c),
15484                  l.marker.enlargeCurrentPoint(i, s.paths, r, o);
15485              }
15486              return { x: r, y: o };
15487            },
15488          },
15489          {
15490            key: "handleBarTooltip",
15491            value: function (t) {
15492              var e,
15493                i,
15494                a = t.e,
15495                s = t.opt,
15496                r = this.w,
15497                o = this.ttCtx,
15498                n = o.getElTooltip(),
15499                l = 0,
15500                h = 0,
15501                c = 0,
15502                d = this.getBarTooltipXY({ e: a, opt: s });
15503              e = d.i;
15504              var g = d.barHeight,
15505                u = d.j;
15506              (r.globals.capturedSeriesIndex = e),
15507                (r.globals.capturedDataPointIndex = u),
15508                (r.globals.isBarHorizontal && o.tooltipUtil.hasBars()) ||
15509                !r.config.tooltip.shared
15510                  ? ((h = d.x),
15511                    (c = d.y),
15512                    (i = Array.isArray(r.config.stroke.width)
15513                      ? r.config.stroke.width[e]
15514                      : r.config.stroke.width),
15515                    (l = h))
15516                  : r.globals.comboCharts ||
15517                    r.config.tooltip.shared ||
15518                    (l /= 2),
15519                isNaN(c) && (c = r.globals.svgHeight - o.tooltipRect.ttHeight);
15520              var p = parseInt(
15521                  s.paths.parentNode.getAttribute("data:realIndex"),
15522                  10
15523                ),
15524                f = r.globals.isMultipleYAxis
15525                  ? r.config.yaxis[p] && r.config.yaxis[p].reversed
15526                  : r.config.yaxis[0].reversed;
15527              if (
15528                (h + o.tooltipRect.ttWidth > r.globals.gridWidth && !f
15529                  ? (h -= o.tooltipRect.ttWidth)
15530                  : h < 0 && (h = 0),
15531                o.w.config.tooltip.followCursor)
15532              ) {
15533                var x = o.getElGrid().getBoundingClientRect();
15534                c = o.e.clientY - x.top;
15535              }
15536              null === o.tooltip &&
15537                (o.tooltip = r.globals.dom.baseEl.querySelector(
15538                  ".apexcharts-tooltip"
15539                )),
15540                r.config.tooltip.shared ||
15541                  (r.globals.comboBarCount > 0
15542                    ? o.tooltipPosition.moveXCrosshairs(l + i / 2)
15543                    : o.tooltipPosition.moveXCrosshairs(l)),
15544                !o.fixedTooltip &&
15545                  (!r.config.tooltip.shared ||
15546                    (r.globals.isBarHorizontal && o.tooltipUtil.hasBars())) &&
15547                  (f && (h -= o.tooltipRect.ttWidth) < 0 && (h = 0),
15548                  !f ||
15549                    (r.globals.isBarHorizontal && o.tooltipUtil.hasBars()) ||
15550                    (c = c + g - 2 * (r.globals.series[e][u] < 0 ? g : 0)),
15551                  (c = c + r.globals.translateY - o.tooltipRect.ttHeight / 2),
15552                  (n.style.left = h + r.globals.translateX + "px"),
15553                  (n.style.top = c + "px"));
15554            },
15555          },
15556          {
15557            key: "getBarTooltipXY",
15558            value: function (t) {
15559              var e = this,
15560                i = t.e,
15561                a = t.opt,
15562                s = this.w,
15563                r = null,
15564                o = this.ttCtx,
15565                n = 0,
15566                l = 0,
15567                h = 0,
15568                c = 0,
15569                d = 0,
15570                g = i.target.classList;
15571              if (
15572                g.contains("apexcharts-bar-area") ||
15573                g.contains("apexcharts-candlestick-area") ||
15574                g.contains("apexcharts-boxPlot-area") ||
15575                g.contains("apexcharts-rangebar-area")
15576              ) {
15577                var u = i.target,
15578                  p = u.getBoundingClientRect(),
15579                  f = a.elGrid.getBoundingClientRect(),
15580                  x = p.height;
15581                d = p.height;
15582                var b = p.width,
15583                  v = parseInt(u.getAttribute("cx"), 10),
15584                  m = parseInt(u.getAttribute("cy"), 10);
15585                c = parseFloat(u.getAttribute("barWidth"));
15586                var y =
15587                  "touchmove" === i.type ? i.touches[0].clientX : i.clientX;
15588                (r = parseInt(u.getAttribute("j"), 10)),
15589                  (n = parseInt(u.parentNode.getAttribute("rel"), 10) - 1);
15590                var w = u.getAttribute("data-range-y1"),
15591                  k = u.getAttribute("data-range-y2");
15592                s.globals.comboCharts &&
15593                  (n = parseInt(
15594                    u.parentNode.getAttribute("data:realIndex"),
15595                    10
15596                  ));
15597                var A = function (t) {
15598                    return s.globals.isXNumeric
15599                      ? v - b / 2
15600                      : e.isVerticalGroupedRangeBar
15601                      ? v + b / 2
15602                      : v - o.dataPointsDividedWidth + b / 2;
15603                  },
15604                  S = function () {
15605                    return (
15606                      m -
15607                      o.dataPointsDividedHeight +
15608                      x / 2 -
15609                      o.tooltipRect.ttHeight / 2
15610                    );
15611                  };
15612                o.tooltipLabels.drawSeriesTexts({
15613                  ttItems: a.ttItems,
15614                  i: n,
15615                  j: r,
15616                  y1: w ? parseInt(w, 10) : null,
15617                  y2: k ? parseInt(k, 10) : null,
15618                  shared: !o.showOnIntersect && s.config.tooltip.shared,
15619                  e: i,
15620                }),
15621                  s.config.tooltip.followCursor
15622                    ? s.globals.isBarHorizontal
15623                      ? ((l = y - f.left + 15), (h = S()))
15624                      : ((l = A()),
15625                        (h =
15626                          i.clientY - f.top - o.tooltipRect.ttHeight / 2 - 15))
15627                    : s.globals.isBarHorizontal
15628                    ? ((l = v) < o.xyRatios.baseLineInvertedY &&
15629                        (l = v - o.tooltipRect.ttWidth),
15630                      (h = S()))
15631                    : ((l = A()), (h = m));
15632              }
15633              return { x: l, y: h, barHeight: d, barWidth: c, i: n, j: r };
15634            },
15635          },
15636        ]),
15637        t
15638      );
15639    })(),
15640    xt = (function () {
15641      function t(e) {
15642        a(this, t), (this.w = e.w), (this.ttCtx = e);
15643      }
15644      return (
15645        r(t, [
15646          {
15647            key: "drawXaxisTooltip",
15648            value: function () {
15649              var t = this.w,
15650                e = this.ttCtx,
15651                i = "bottom" === t.config.xaxis.position;
15652              e.xaxisOffY = i
15653                ? t.globals.gridHeight + 1
15654                : -t.globals.xAxisHeight - t.config.xaxis.axisTicks.height + 3;
15655              var a = i
15656                  ? "apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom"
15657                  : "apexcharts-xaxistooltip apexcharts-xaxistooltip-top",
15658                s = t.globals.dom.elWrap;
15659              e.isXAxisTooltipEnabled &&
15660                null ===
15661                  t.globals.dom.baseEl.querySelector(
15662                    ".apexcharts-xaxistooltip"
15663                  ) &&
15664                ((e.xaxisTooltip = document.createElement("div")),
15665                e.xaxisTooltip.setAttribute(
15666                  "class",
15667                  a + " apexcharts-theme-" + t.config.tooltip.theme
15668                ),
15669                s.appendChild(e.xaxisTooltip),
15670                (e.xaxisTooltipText = document.createElement("div")),
15671                e.xaxisTooltipText.classList.add(
15672                  "apexcharts-xaxistooltip-text"
15673                ),
15674                (e.xaxisTooltipText.style.fontFamily =
15675                  t.config.xaxis.tooltip.style.fontFamily ||
15676                  t.config.chart.fontFamily),
15677                (e.xaxisTooltipText.style.fontSize =
15678                  t.config.xaxis.tooltip.style.fontSize),
15679                e.xaxisTooltip.appendChild(e.xaxisTooltipText));
15680            },
15681          },
15682          {
15683            key: "drawYaxisTooltip",
15684            value: function () {
15685              for (
15686                var t = this.w,
15687                  e = this.ttCtx,
15688                  i = function (i) {
15689                    var a =
15690                      t.config.yaxis[i].opposite ||
15691                      t.config.yaxis[i].crosshairs.opposite;
15692                    e.yaxisOffX = a ? t.globals.gridWidth + 1 : 1;
15693                    var s =
15694                      "apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(
15695                        i,
15696                        a
15697                          ? " apexcharts-yaxistooltip-right"
15698                          : " apexcharts-yaxistooltip-left"
15699                      );
15700                    t.globals.yAxisSameScaleIndices.map(function (e, a) {
15701                      e.map(function (e, a) {
15702                        a === i &&
15703                          (s += t.config.yaxis[a].show
15704                            ? " "
15705                            : " apexcharts-yaxistooltip-hidden");
15706                      });
15707                    });
15708                    var r = t.globals.dom.elWrap;
15709                    null ===
15710                      t.globals.dom.baseEl.querySelector(
15711                        ".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(
15712                          i
15713                        )
15714                      ) &&
15715                      ((e.yaxisTooltip = document.createElement("div")),
15716                      e.yaxisTooltip.setAttribute(
15717                        "class",
15718                        s + " apexcharts-theme-" + t.config.tooltip.theme
15719                      ),
15720                      r.appendChild(e.yaxisTooltip),
15721                      0 === i && (e.yaxisTooltipText = []),
15722                      (e.yaxisTooltipText[i] = document.createElement("div")),
15723                      e.yaxisTooltipText[i].classList.add(
15724                        "apexcharts-yaxistooltip-text"
15725                      ),
15726                      e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]));
15727                  },
15728                  a = 0;
15729                a < t.config.yaxis.length;
15730                a++
15731              )
15732                i(a);
15733            },
15734          },
15735          {
15736            key: "setXCrosshairWidth",
15737            value: function () {
15738              var t = this.w,
15739                e = this.ttCtx,
15740                i = e.getElXCrosshairs();
15741              if (
15742                ((e.xcrosshairsWidth = parseInt(
15743                  t.config.xaxis.crosshairs.width,
15744                  10
15745                )),
15746                t.globals.comboCharts)
15747              ) {
15748                var a = t.globals.dom.baseEl.querySelector(
15749                  ".apexcharts-bar-area"
15750                );
15751                if (
15752                  null !== a &&
15753                  "barWidth" === t.config.xaxis.crosshairs.width
15754                ) {
15755                  var s = parseFloat(a.getAttribute("barWidth"));
15756                  e.xcrosshairsWidth = s;
15757                } else if ("tickWidth" === t.config.xaxis.crosshairs.width) {
15758                  var r = t.globals.labels.length;
15759                  e.xcrosshairsWidth = t.globals.gridWidth / r;
15760                }
15761              } else if ("tickWidth" === t.config.xaxis.crosshairs.width) {
15762                var o = t.globals.labels.length;
15763                e.xcrosshairsWidth = t.globals.gridWidth / o;
15764              } else if ("barWidth" === t.config.xaxis.crosshairs.width) {
15765                var n = t.globals.dom.baseEl.querySelector(
15766                  ".apexcharts-bar-area"
15767                );
15768                if (null !== n) {
15769                  var l = parseFloat(n.getAttribute("barWidth"));
15770                  e.xcrosshairsWidth = l;
15771                } else e.xcrosshairsWidth = 1;
15772              }
15773              t.globals.isBarHorizontal && (e.xcrosshairsWidth = 0),
15774                null !== i &&
15775                  e.xcrosshairsWidth > 0 &&
15776                  i.setAttribute("width", e.xcrosshairsWidth);
15777            },
15778          },
15779          {
15780            key: "handleYCrosshair",
15781            value: function () {
15782              var t = this.w,
15783                e = this.ttCtx;
15784              (e.ycrosshairs = t.globals.dom.baseEl.querySelector(
15785                ".apexcharts-ycrosshairs"
15786              )),
15787                (e.ycrosshairsHidden = t.globals.dom.baseEl.querySelector(
15788                  ".apexcharts-ycrosshairs-hidden"
15789                ));
15790            },
15791          },
15792          {
15793            key: "drawYaxisTooltipText",
15794            value: function (t, e, i) {
15795              var a = this.ttCtx,
15796                s = this.w,
15797                r = s.globals.yLabelFormatters[t];
15798              if (a.yaxisTooltips[t]) {
15799                var o = a.getElGrid().getBoundingClientRect(),
15800                  n = (e - o.top) * i.yRatio[t],
15801                  l = s.globals.maxYArr[t] - s.globals.minYArr[t],
15802                  h = s.globals.minYArr[t] + (l - n);
15803                a.tooltipPosition.moveYCrosshairs(e - o.top),
15804                  (a.yaxisTooltipText[t].innerHTML = r(h)),
15805                  a.tooltipPosition.moveYAxisTooltip(t);
15806              }
15807            },
15808          },
15809        ]),
15810        t
15811      );
15812    })(),
15813    bt = (function () {
15814      function t(e) {
15815        a(this, t), (this.ctx = e), (this.w = e.w);
15816        var i = this.w;
15817        (this.tConfig = i.config.tooltip),
15818          (this.tooltipUtil = new dt(this)),
15819          (this.tooltipLabels = new gt(this)),
15820          (this.tooltipPosition = new ut(this)),
15821          (this.marker = new pt(this)),
15822          (this.intersect = new ft(this)),
15823          (this.axesTooltip = new xt(this)),
15824          (this.showOnIntersect = this.tConfig.intersect),
15825          (this.showTooltipTitle = this.tConfig.x.show),
15826          (this.fixedTooltip = this.tConfig.fixed.enabled),
15827          (this.xaxisTooltip = null),
15828          (this.yaxisTTEls = null),
15829          (this.isBarShared =
15830            !i.globals.isBarHorizontal && this.tConfig.shared),
15831          (this.lastHoverTime = Date.now());
15832      }
15833      return (
15834        r(t, [
15835          {
15836            key: "getElTooltip",
15837            value: function (t) {
15838              return (
15839                t || (t = this),
15840                t.w.globals.dom.baseEl
15841                  ? t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip")
15842                  : null
15843              );
15844            },
15845          },
15846          {
15847            key: "getElXCrosshairs",
15848            value: function () {
15849              return this.w.globals.dom.baseEl.querySelector(
15850                ".apexcharts-xcrosshairs"
15851              );
15852            },
15853          },
15854          {
15855            key: "getElGrid",
15856            value: function () {
15857              return this.w.globals.dom.baseEl.querySelector(
15858                ".apexcharts-grid"
15859              );
15860            },
15861          },
15862          {
15863            key: "drawTooltip",
15864            value: function (t) {
15865              var e = this.w;
15866              (this.xyRatios = t),
15867                (this.isXAxisTooltipEnabled =
15868                  e.config.xaxis.tooltip.enabled && e.globals.axisCharts),
15869                (this.yaxisTooltips = e.config.yaxis.map(function (t, i) {
15870                  return !!(
15871                    t.show &&
15872                    t.tooltip.enabled &&
15873                    e.globals.axisCharts
15874                  );
15875                })),
15876                (this.allTooltipSeriesGroups = []),
15877                e.globals.axisCharts || (this.showTooltipTitle = !1);
15878              var i = document.createElement("div");
15879              if (
15880                (i.classList.add("apexcharts-tooltip"),
15881                e.config.tooltip.cssClass &&
15882                  i.classList.add(e.config.tooltip.cssClass),
15883                i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),
15884                e.globals.dom.elWrap.appendChild(i),
15885                e.globals.axisCharts)
15886              ) {
15887                this.axesTooltip.drawXaxisTooltip(),
15888                  this.axesTooltip.drawYaxisTooltip(),
15889                  this.axesTooltip.setXCrosshairWidth(),
15890                  this.axesTooltip.handleYCrosshair();
15891                var a = new V(this.ctx);
15892                this.xAxisTicksPositions = a.getXAxisTicksPositions();
15893              }
15894              if (
15895                ((!e.globals.comboCharts &&
15896                  !this.tConfig.intersect &&
15897                  "rangeBar" !== e.config.chart.type) ||
15898                  this.tConfig.shared ||
15899                  (this.showOnIntersect = !0),
15900                (0 !== e.config.markers.size &&
15901                  0 !== e.globals.markers.largestSize) ||
15902                  this.marker.drawDynamicPoints(this),
15903                e.globals.collapsedSeries.length !== e.globals.series.length)
15904              ) {
15905                (this.dataPointsDividedHeight =
15906                  e.globals.gridHeight / e.globals.dataPoints),
15907                  (this.dataPointsDividedWidth =
15908                    e.globals.gridWidth / e.globals.dataPoints),
15909                  this.showTooltipTitle &&
15910                    ((this.tooltipTitle = document.createElement("div")),
15911                    this.tooltipTitle.classList.add("apexcharts-tooltip-title"),
15912                    (this.tooltipTitle.style.fontFamily =
15913                      this.tConfig.style.fontFamily ||
15914                      e.config.chart.fontFamily),
15915                    (this.tooltipTitle.style.fontSize =
15916                      this.tConfig.style.fontSize),
15917                    i.appendChild(this.tooltipTitle));
15918                var s = e.globals.series.length;
15919                (e.globals.xyCharts || e.globals.comboCharts) &&
15920                  this.tConfig.shared &&
15921                  (s = this.showOnIntersect ? 1 : e.globals.series.length),
15922                  (this.legendLabels = e.globals.dom.baseEl.querySelectorAll(
15923                    ".apexcharts-legend-text"
15924                  )),
15925                  (this.ttItems = this.createTTElements(s)),
15926                  this.addSVGEvents();
15927              }
15928            },
15929          },
15930          {
15931            key: "createTTElements",
15932            value: function (t) {
15933              for (
15934                var e = this,
15935                  i = this.w,
15936                  a = [],
15937                  s = this.getElTooltip(),
15938                  r = function (r) {
15939                    var o = document.createElement("div");
15940                    o.classList.add("apexcharts-tooltip-series-group"),
15941                      (o.style.order = i.config.tooltip.inverseOrder
15942                        ? t - r
15943                        : r + 1),
15944                      e.tConfig.shared &&
15945                        e.tConfig.enabledOnSeries &&
15946                        Array.isArray(e.tConfig.enabledOnSeries) &&
15947                        e.tConfig.enabledOnSeries.indexOf(r) < 0 &&
15948                        o.classList.add(
15949                          "apexcharts-tooltip-series-group-hidden"
15950                        );
15951                    var n = document.createElement("span");
15952                    n.classList.add("apexcharts-tooltip-marker"),
15953                      (n.style.backgroundColor = i.globals.colors[r]),
15954                      o.appendChild(n);
15955                    var l = document.createElement("div");
15956                    l.classList.add("apexcharts-tooltip-text"),
15957                      (l.style.fontFamily =
15958                        e.tConfig.style.fontFamily ||
15959                        i.config.chart.fontFamily),
15960                      (l.style.fontSize = e.tConfig.style.fontSize),
15961                      ["y", "goals", "z"].forEach(function (t) {
15962                        var e = document.createElement("div");
15963                        e.classList.add(
15964                          "apexcharts-tooltip-".concat(t, "-group")
15965                        );
15966                        var i = document.createElement("span");
15967                        i.classList.add(
15968                          "apexcharts-tooltip-text-".concat(t, "-label")
15969                        ),
15970                          e.appendChild(i);
15971                        var a = document.createElement("span");
15972                        a.classList.add(
15973                          "apexcharts-tooltip-text-".concat(t, "-value")
15974                        ),
15975                          e.appendChild(a),
15976                          l.appendChild(e);
15977                      }),
15978                      o.appendChild(l),
15979                      s.appendChild(o),
15980                      a.push(o);
15981                  },
15982                  o = 0;
15983                o < t;
15984                o++
15985              )
15986                r(o);
15987              return a;
15988            },
15989          },
15990          {
15991            key: "addSVGEvents",
15992            value: function () {
15993              var t = this.w,
15994                e = t.config.chart.type,
15995                i = this.getElTooltip(),
15996                a = !(
15997                  "bar" !== e &&
15998                  "candlestick" !== e &&
15999                  "boxPlot" !== e &&
16000                  "rangeBar" !== e
16001                ),
16002                s =
16003                  "area" === e ||
16004                  "line" === e ||
16005                  "scatter" === e ||
16006                  "bubble" === e ||
16007                  "radar" === e,
16008                r = t.globals.dom.Paper.node,
16009                o = this.getElGrid();
16010              o && (this.seriesBound = o.getBoundingClientRect());
16011              var n,
16012                l = [],
16013                h = [],
16014                c = {
16015                  hoverArea: r,
16016                  elGrid: o,
16017                  tooltipEl: i,
16018                  tooltipY: l,
16019                  tooltipX: h,
16020                  ttItems: this.ttItems,
16021                };
16022              if (
16023                t.globals.axisCharts &&
16024                (s
16025                  ? (n = t.globals.dom.baseEl.querySelectorAll(
16026                      ".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"
16027                    ))
16028                  : a
16029                  ? (n = t.globals.dom.baseEl.querySelectorAll(
16030                      ".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"
16031                    ))
16032                  : ("heatmap" !== e && "treemap" !== e) ||
16033                    (n = t.globals.dom.baseEl.querySelectorAll(
16034                      ".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap"
16035                    )),
16036                n && n.length)
16037              )
16038                for (var d = 0; d < n.length; d++)
16039                  l.push(n[d].getAttribute("cy")),
16040                    h.push(n[d].getAttribute("cx"));
16041              if (
16042                (t.globals.xyCharts && !this.showOnIntersect) ||
16043                (t.globals.comboCharts && !this.showOnIntersect) ||
16044                (a && this.tooltipUtil.hasBars() && this.tConfig.shared)
16045              )
16046                this.addPathsEventListeners([r], c);
16047              else if (
16048                (a && !t.globals.comboCharts) ||
16049                (s && this.showOnIntersect)
16050              )
16051                this.addDatapointEventsListeners(c);
16052              else if (
16053                !t.globals.axisCharts ||
16054                "heatmap" === e ||
16055                "treemap" === e
16056              ) {
16057                var g =
16058                  t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");
16059                this.addPathsEventListeners(g, c);
16060              }
16061              if (this.showOnIntersect) {
16062                var u = t.globals.dom.baseEl.querySelectorAll(
16063                  ".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker"
16064                );
16065                u.length > 0 && this.addPathsEventListeners(u, c),
16066                  this.tooltipUtil.hasBars() &&
16067                    !this.tConfig.shared &&
16068                    this.addDatapointEventsListeners(c);
16069              }
16070            },
16071          },
16072          {
16073            key: "drawFixedTooltipRect",
16074            value: function () {
16075              var t = this.w,
16076                e = this.getElTooltip(),
16077                i = e.getBoundingClientRect(),
16078                a = i.width + 10,
16079                s = i.height + 10,
16080                r = this.tConfig.fixed.offsetX,
16081                o = this.tConfig.fixed.offsetY,
16082                n = this.tConfig.fixed.position.toLowerCase();
16083              return (
16084                n.indexOf("right") > -1 &&
16085                  (r = r + t.globals.svgWidth - a + 10),
16086                n.indexOf("bottom") > -1 &&
16087                  (o = o + t.globals.svgHeight - s - 10),
16088                (e.style.left = r + "px"),
16089                (e.style.top = o + "px"),
16090                { x: r, y: o, ttWidth: a, ttHeight: s }
16091              );
16092            },
16093          },
16094          {
16095            key: "addDatapointEventsListeners",
16096            value: function (t) {
16097              var e = this.w.globals.dom.baseEl.querySelectorAll(
16098                ".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area"
16099              );
16100              this.addPathsEventListeners(e, t);
16101            },
16102          },
16103          {
16104            key: "addPathsEventListeners",
16105            value: function (t, e) {
16106              for (
16107                var i = this,
16108                  a = function (a) {
16109                    var s = {
16110                      paths: t[a],
16111                      tooltipEl: e.tooltipEl,
16112                      tooltipY: e.tooltipY,
16113                      tooltipX: e.tooltipX,
16114                      elGrid: e.elGrid,
16115                      hoverArea: e.hoverArea,
16116                      ttItems: e.ttItems,
16117                    };
16118                    [
16119                      "mousemove",
16120                      "mouseup",
16121                      "touchmove",
16122                      "mouseout",
16123                      "touchend",
16124                    ].map(function (e) {
16125                      return t[a].addEventListener(
16126                        e,
16127                        i.onSeriesHover.bind(i, s),
16128                        { capture: !1, passive: !0 }
16129                      );
16130                    });
16131                  },
16132                  s = 0;
16133                s < t.length;
16134                s++
16135              )
16136                a(s);
16137            },
16138          },
16139          {
16140            key: "onSeriesHover",
16141            value: function (t, e) {
16142              var i = this,
16143                a = Date.now() - this.lastHoverTime;
16144              a >= 100
16145                ? this.seriesHover(t, e)
16146                : (clearTimeout(this.seriesHoverTimeout),
16147                  (this.seriesHoverTimeout = setTimeout(function () {
16148                    i.seriesHover(t, e);
16149                  }, 100 - a)));
16150            },
16151          },
16152          {
16153            key: "seriesHover",
16154            value: function (t, e) {
16155              var i = this;
16156              this.lastHoverTime = Date.now();
16157              var a = [],
16158                s = this.w;
16159              s.config.chart.group && (a = this.ctx.getGroupedCharts()),
16160                (s.globals.axisCharts &&
16161                  ((s.globals.minX === -1 / 0 && s.globals.maxX === 1 / 0) ||
16162                    0 === s.globals.dataPoints)) ||
16163                  (a.length
16164                    ? a.forEach(function (a) {
16165                        var s = i.getElTooltip(a),
16166                          r = {
16167                            paths: t.paths,
16168                            tooltipEl: s,
16169                            tooltipY: t.tooltipY,
16170                            tooltipX: t.tooltipX,
16171                            elGrid: t.elGrid,
16172                            hoverArea: t.hoverArea,
16173                            ttItems: a.w.globals.tooltip.ttItems,
16174                          };
16175                        a.w.globals.minX === i.w.globals.minX &&
16176                          a.w.globals.maxX === i.w.globals.maxX &&
16177                          a.w.globals.tooltip.seriesHoverByContext({
16178                            chartCtx: a,
16179                            ttCtx: a.w.globals.tooltip,
16180                            opt: r,
16181                            e: e,
16182                          });
16183                      })
16184                    : this.seriesHoverByContext({
16185                        chartCtx: this.ctx,
16186                        ttCtx: this.w.globals.tooltip,
16187                        opt: t,
16188                        e: e,
16189                      }));
16190            },
16191          },
16192          {
16193            key: "seriesHoverByContext",
16194            value: function (t) {
16195              var e = t.chartCtx,
16196                i = t.ttCtx,
16197                a = t.opt,
16198                s = t.e,
16199                r = e.w,
16200                o = this.getElTooltip();
16201              if (o) {
16202                if (
16203                  ((i.tooltipRect = {
16204                    x: 0,
16205                    y: 0,
16206                    ttWidth: o.getBoundingClientRect().width,
16207                    ttHeight: o.getBoundingClientRect().height,
16208                  }),
16209                  (i.e = s),
16210                  i.tooltipUtil.hasBars() &&
16211                    !r.globals.comboCharts &&
16212                    !i.isBarShared)
16213                )
16214                  if (this.tConfig.onDatasetHover.highlightDataSeries
16214)
16215                    new N(e).toggleSeriesOnHover(s, s.target.parentNode);
16216                i.fixedTooltip && i.drawFixedTooltipRect(),
16217                  r.globals.axisCharts
16218                    ? i.axisChartsTooltips({
16219                        e: s,
16220                        opt: a,
16221                        tooltipRect: i.tooltipRect,
16222                      })
16223                    : i.nonAxisChartsTooltips({
16224                        e: s,
16225                        opt: a,
16226                        tooltipRect: i.tooltipRect,
16227                      });
16228              }
16229            },
16230          },
16231          {
16232            key: "axisChartsTooltips",
16233            value: function (t) {
16234              var e,
16235                i,
16236                a = t.e,
16237                s = t.opt,
16238                r = this.w,
16239                o = s.elGrid.getBoundingClientRect(),
16240                n = "touchmove" === a.type ? a.touches[0].clientX : a.clientX,
16241                l = "touchmove" === a.type ? a.touches[0].clientY : a.clientY;
16242              if (
16243                ((this.clientY = l),
16244                (this.clientX = n),
16245                (r.globals.capturedSeriesIndex = -1),
16246                (r.globals.capturedDataPointIndex = -1),
16247                l < o.top || l > o.top + o.height)
16248              )
16249                this.handleMouseOut(s);
16250              else {
16251                if (
16252                  Array.isArray(this.tConfig.enabledOnSeries) &&
16253                  !r.config.tooltip.shared
16254                ) {
16255                  var h = parseInt(s.paths.getAttribute("index"), 10);
16256                  if (this.tConfig.enabledOnSeries.indexOf(h) < 0)
16257                    return void this.handleMouseOut(s);
16258                }
16259                var c = this.getElTooltip(),
16260                  d = this.getElXCrosshairs(),
16261                  g =
16262                    r.globals.xyCharts ||
16263                    ("bar" === r.config.chart.type &&
16264                      !r.globals.isBarHorizontal &&
16265                      this.tooltipUtil.hasBars() &&
16266                      this.tConfig.shared) ||
16267                    (r.globals.comboCharts && this.tooltipUtil.hasBars());
16268                if (
16269                  "mousemove" === a.type ||
16270                  "touchmove" === a.type ||
16271                  "mouseup" === a.type
16272                ) {
16273                  if (
16274                    r.globals.collapsedSeries.length +
16275                      r.globals.ancillaryCollapsedSeries.length ===
16276                    r.globals.series.length
16277                  )
16278                    return;
16279                  null !== d && d.classList.add("apexcharts-active");
16280                  var u = this.yaxisTooltips.filter(function (t) {
16281                    return !0 === t;
16282                  });
16283                  if (
16284                    (null !== this.ycrosshairs &&
16285                      u.length &&
16286                      this.ycrosshairs.classList.add("apexcharts-active"),
16287                    g && !this.showOnIntersect)
16288                  )
16289                    this.handleStickyTooltip(a, n, l, s);
16290                  else if (
16291                    "heatmap" === r.config.chart.type ||
16292                    "treemap" === r.config.chart.type
16293                  ) {
16294                    var p = this.intersect.handleHeatTreeTooltip({
16295                      e: a,
16296                      opt: s,
16297                      x: e,
16298                      y: i,
16299                      type: r.config.chart.type,
16300                    });
16301                    (e = p.x),
16302                      (i = p.y),
16303                      (c.style.left = e + "px"),
16304                      (c.style.top = i + "px");
16305                  } else
16306                    this.tooltipUtil.hasBars() &&
16307                      this.intersect.handleBarTooltip({ e: a, opt: s }),
16308                      this.tooltipUtil.hasMarkers() &&
16309                        this.intersect.handleMarkerTooltip({
16310                          e: a,
16311                          opt: s,
16312                          x: e,
16313                          y: i,
16314                        });
16315                  if (this.yaxisTooltips.length)
16316                    for (var f = 0; f < r.config.yaxis.length; f++)
16317                      this.axesTooltip.drawYaxisTooltipText(
16318                        f,
16319                        l,
16320                        this.xyRatios
16321                      );
16322                  s.tooltipEl.classList.add("apexcharts-active");
16323                } else
16324                  ("mouseout" !== a.type && "touchend" !== a.type) ||
16325                    this.handleMouseOut(s);
16326              }
16327            },
16328          },
16329          {
16330            key: "nonAxisChartsTooltips",
16331            value: function (t) {
16332              var e = t.e,
16333                i = t.opt,
16334                a = t.tooltipRect,
16335                s = this.w,
16336                r = i.paths.getAttribute("rel"),
16337                o = this.getElTooltip(),
16338                n = s.globals.dom.elWrap.getBoundingClientRect();
16339              if ("mousemove" === e.type || "touchmove" === e.type) {
16340                o.classList.add("apexcharts-active"),
16341                  this.tooltipLabels.drawSeriesTexts({
16342                    ttItems: i.ttItems,
16343                    i: parseInt(r, 10) - 1,
16344                    shared: !1,
16345                  });
16346                var l = s.globals.clientX - n.left - a.ttWidth / 2,
16347                  h = s.globals.clientY - n.top - a.ttHeight - 10;
16348                if (
16349                  ((o.style.left = l + "px"),
16350                  (o.style.top = h + "px"),
16351                  s.config.legend.tooltipHoverFormatter)
16352                ) {
16353                  var c = r - 1,
16354                    d = (0, s.config.legend.tooltipHoverFormatter)(
16355                      this.legendLabels[c].getAttribute("data:default-text"),
16356                      { seriesIndex: c, dataPointIndex: c, w: s }
16357                    );
16358                  this.legendLabels[c].innerHTML = d;
16359                }
16360              } else
16361                ("mouseout" !== e.type && "touchend" !== e.type) ||
16362                  (o.classList.remove("apexcharts-active"),
16363                  s.config.legend.tooltipHoverFormatter &&
16364                    this.legendLabels.forEach(function (t) {
16365                      var e = t.getAttribute("data:default-text");
16366                      t.innerHTML = decodeURIComponent(e);
16367                    }));
16368            },
16369          },
16370          {
16371            key: "handleStickyTooltip",
16372            value: function (t, e, i, a) {
16373              var s = this.w,
16374                r = this.tooltipUtil.getNearestValues({
16375                  context: this,
16376                  hoverArea: a.hoverArea,
16377                  elGrid: a.elGrid,
16378                  clientX: e,
16379                  clientY: i,
16380                }),
16381                o = r.j,
16382                n = r.capturedSeries;
16383              s.globals.collapsedSeriesIndices.includes(n) && (n = null);
16384              var l = a.elGrid.getBoundingClientRect();
16385              if (r.hoverX < 0 || r.hoverX > l.width) this.handleMouseOut(a);
16386              else if (null !== n) this.handleStickyCapturedSeries(t, n, a, o);
16387              else if (
16388                this.tooltipUtil.isXoverlap(o) ||
16389                s.globals.isBarHorizontal
16390              ) {
16391                var h = s.globals.series.findIndex(function (t, e) {
16392                  return !s.globals.collapsedSeriesIndices.includes(e);
16393                });
16394                this.create(t, this, h, o, a.ttItems);
16395              }
16396            },
16397          },
16398          {
16399            key: "handleStickyCapturedSeries",
16400            value: function (t, e, i, a) {
16401              var s = this.w;
16402              if (!this.tConfig.shared && null === s.globals.series[e][a])
16403                return void this.handleMouseOut(i);
16404              if (void 0 !== s.globals.series[e][a])
16405                this.tConfig.shared &&
16406                this.tooltipUtil.isXoverlap(a) &&
16407                this.tooltipUtil.isInitialSeriesSameLen()
16408                  ? this.create(t, this, e, a, i.ttItems)
16409                  : this.create(t, this, e, a, i.ttItems, !1);
16410              else if (this.tooltipUtil.isXoverlap(a)) {
16411                var r = s.globals.series.findIndex(function (t, e) {
16412                  return !s.globals.collapsedSeriesIndices.includes(e);
16413                });
16414                this.create(t, this, r, a, i.ttItems);
16415              }
16416            },
16417          },
16418          {
16419            key: "deactivateHoverFilter",
16420            value: function () {
16421              for (
16422                var t = this.w,
16423                  e = new m(this.ctx),
16424                  i = t.globals.dom.Paper.select(".apexcharts-bar-area"),
16425                  a = 0;
16426                a < i.length;
16427                a++
16428              )
16429                e.pathMouseLeave(i[a]);
16430            },
16431          },
16432          {
16433            key: "handleMouseOut",
16434            value: function (t) {
16435              var e = this.w,
16436                i = this.getElXCrosshairs();
16437              if (
16438                (t.tooltipEl.classList.remove("apexcharts-active"),
16439                this.deactivateHoverFilter(),
16440                "bubble" !== e.config.chart.type &&
16441                  this.marker.resetPointsSize(),
16442                null !== i && i.classList.remove("apexcharts-active"),
16443                null !== this.ycrosshairs &&
16444                  this.ycrosshairs.classList.remove("apexcharts-active"),
16445                this.isXAxisTooltipEnabled &&
16446                  this.xaxisTooltip.classList.remove("apexcharts-active"),
16447                this.yaxisTooltips.length)
16448              ) {
16449                null === this.yaxisTTEls &&
16450                  (this.yaxisTTEls = e.globals.dom.baseEl.querySelectorAll(
16451                    ".apexcharts-yaxistooltip"
16452                  ));
16453                for (var a = 0; a < this.yaxisTTEls.length; a++)
16454                  this.yaxisTTEls[a].classList.remove("apexcharts-active");
16455              }
16456              e.config.legend.tooltipHoverFormatter &&
16457                this.legendLabels.forEach(function (t) {
16458                  var e = t.getAttribute("data:default-text");
16459                  t.innerHTML = decodeURIComponent(e);
16460                });
16461            },
16462          },
16463          {
16464            key: "markerClick",
16465            value: function (t, e, i) {
16466              var a = this.w;
16467              "function" == typeof a.config.chart.events.markerClick &&
16468                a.config.chart.events.markerClick(t, this.ctx, {
16469                  seriesIndex: e,
16470                  dataPointIndex: i,
16471                  w: a,
16472                }),
16473                this.ctx.events.fireEvent("markerClick", [
16474                  t,
16475                  this.ctx,
16476                  { seriesIndex: e, dataPointIndex: i, w: a },
16477                ]);
16478            },
16479          },
16480          {
16481            key: "create",
16482            value: function (t, i, a, s, r) {
16483              var o,
16484                n,
16485                l,
16486                h,
16487                c,
16488                d,
16489                g,
16490                u,
16491                p,
16492                f,
16493                x,
16494                b,
16495                v,
16496                y,
16497                w,
16498                k,
16499                A =
16500                  arguments.length > 5 && void 0 !== arguments[5]
16501                    ? arguments[5]
16502                    : null,
16503                S = this.w,
16504                C = i;
16505              "mouseup" === t.type && this.markerClick(t, a, s),
16506                null === A && (A = this.tConfig.shared);
16507              var L = this.tooltipUtil.hasMarkers(a),
16508                P = this.tooltipUtil.getElBars();
16509              if (S.config.legend.tooltipHoverFormatter) {
16510                var I = S.config.legend.tooltipHoverFormatter,
16511                  M = Array.from(this.legendLabels);
16512                M.forEach(function (t) {
16513                  var e = t.getAttribute("data:default-text");
16514                  t.innerHTML = decodeURIComponent(e);
16515                });
16516                for (var T = 0; T < M.length; T++) {
16517                  var z = M[T],
16518                    X = parseInt(z.getAttribute("i"), 10),
16519                    E = decodeURIComponent(z.getAttribute("data:default-text")),
16520                    Y = I(E, {
16521                      seriesIndex: A ? X : a,
16522                      dataPointIndex: s,
16523                      w: S,
16524                    });
16525                  if (A)
16526                    z.innerHTML =
16527                      S.globals.collapsedSeriesIndices.indexOf(X) < 0 ? Y : E;
16528                  else if (((z.innerHTML = X === a ? Y : E), a === X)) break;
16529                }
16530              }
16531              var F = e(
16532                e(
16533                  { ttItems: r, i: a, j: s },
16534                  void 0 !==
16535                    (null === (o = S.globals.seriesRange) ||
16536                    void 0 === o ||
16537                    null === (n = o[a]) ||
16538                    void 0 === n ||
16539                    null === (l = n[s]) ||
16540                    void 0 === l ||
16541                    null === (h = l.y[0]) ||
16542                    void 0 === h
16543                      ? void 0
16544                      : h.y1) && {
16545                    y1:
16546                      null === (c = S.globals.seriesRange) ||
16547                      void 0 === c ||
16548                      null === (d = c[a]) ||
16549                      void 0 === d ||
16550                      null === (g = d[s]) ||
16551                      void 0 === g ||
16552                      null === (u = g.y[0]) ||
16553                      void 0 === u
16554                        ? void 0
16555                        : u.y1,
16556                  }
16557                ),
16558                void 0 !==
16559                  (null === (p = S.globals.seriesRange) ||
16560                  void 0 === p ||
16561                  null === (f = p[a]) ||
16562                  void 0 === f ||
16563                  null === (x = f[s]) ||
16564                  void 0 === x ||
16565                  null === (b = x.y[0]) ||
16566                  void 0 === b
16567                    ? void 0
16568                    : b.y2) && {
16569                  y2:
16570                    null === (v = S.globals.seriesRange) ||
16571                    void 0 === v ||
16572                    null === (y = v[a]) ||
16573                    void 0 === y ||
16574                    null === (w = y[s]) ||
16575                    void 0 === w ||
16576                    null === (k = w.y[0]) ||
16577                    void 0 === k
16578                      ? void 0
16579                      : k.y2,
16580                }
16581              );
16582              if (A) {
16583                if (
16584                  (C.tooltipLabels.drawSeriesTexts(
16585                    e(
16586                      e({}, F),
16587                      {},
16588                      { shared: !this.showOnIntersect && this.tConfig.shared }
16589                    )
16590                  ),
16591                  L)
16592                )
16593                  S.globals.markers.largestSize > 0
16594                    ? C.marker.enlargePoints(s)
16595                    : C.tooltipPosition.moveDynamicPointsOnHover(s);
16596                else if (
16597                  this.tooltipUtil.hasBars() &&
16598                  ((this.barSeriesHeight = this.tooltipUtil.getBarsHeight(P)),
16599                  this.barSeriesHeight > 0)
16600                ) {
16601                  var R = new m(this.ctx),
16602                    H = S.globals.dom.Paper.select(
16603                      ".apexcharts-bar-area[j='".concat(s, "']")
16604                    );
16605                  this.deactivateHoverFilter(),
16606                    this.tooltipPosition.moveStickyTooltipOverBars(s, a);
16607                  for (var D = 0; D < H.length; D++) R.pathMouseEnter(H[D]);
16608                }
16609              } else
16610                C.tooltipLabels.drawSeriesTexts(e({ shared: !1 }, F)),
16611                  this.tooltipUtil.hasBars() &&
16612                    C.tooltipPosition.moveStickyTooltipOverBars(s, a),
16613                  L && C.tooltipPosition.moveMarkers(a, s);
16614            },
16615          },
16616        ]),
16617        t
16618      );
16619    })(),
16620    vt = (function () {
16621      function t(e) {
16622        a(this, t),
16623          (this.w = e.w),
16624          (this.barCtx = e),
16625          (this.totalFormatter =
16626            this.w.config.plotOptions.bar.dataLabels.total.formatter),
16627          this.totalFormatter ||
16628            (this.totalFormatter = this.w.config.dataLabels.formatter);
16629      }
16630      return (
16631        r(t, [
16632          {
16633            key: "handleBarDataLabels",
16634            value: function (t) {
16635              var e = t.x,
16636                i = t.y,
16637                a = t.y1,
16638                s = t.y2,
16639                r = t.i,
16640                o = t.j,
16641                n = t.realIndex,
16642                l = t.groupIndex,
16643                h = t.series,
16644                c = t.barHeight,
16645                d = t.barWidth,
16646                g = t.barXPosition,
16647                u = t.barYPosition,
16648                p = t.visibleSeries,
16649                f = t.renderedPath,
16650                x = this.w,
16651                b = new m(this.barCtx.ctx),
16652                v = Array.isArray(this.barCtx.strokeWidth)
16653                  ? this.barCtx.strokeWidth[n]
16654                  : this.barCtx.strokeWidth,
16655                y = e + parseFloat(d * p),
16656                w = i + parseFloat(c * p);
16657              x.globals.isXNumeric &&
16658                !x.globals.isBarHorizontal &&
16659                ((y = e + parseFloat(d * (p + 1))),
16660                (w = i + parseFloat(c * (p + 1)) - v));
16661              var k,
16662                A = null,
16663                S = e,
16664                C = i,
16665                L = {},
16666                P = x.config.dataLabels,
16667                I = this.barCtx.barOptions.dataLabels,
16668                M = this.barCtx.barOptions.dataLabels.total;
16669              void 0 !== u && this.barCtx.isRangeBar && ((w = u), (C = u)),
16670                void 0 !== g &&
16671                  this.barCtx.isVerticalGroupedRangeBar &&
16672                  ((y = g), (S = g));
16673              var T = P.offsetX,
16674                z = P.offsetY,
16675                X = { width: 0, height: 0 };
16676              if (x.config.dataLabels.enabled) {
16677                var E = this.barCtx.series[r][o];
16678                X = b.getTextRects(
16679                  x.globals.yLabelFormatters[0](E),
16680                  parseFloat(P.style.fontSize)
16681                );
16682              }
16683              var Y = {
16684                x: e,
16685                y: i,
16686                i: r,
16687                j: o,
16688                realIndex: n,
16689                groupIndex: l || -1,
16690                renderedPath: f,
16691                bcx: y,
16692                bcy: w,
16693                barHeight: c,
16694                barWidth: d,
16695                textRects: X,
16696                strokeWidth: v,
16697                dataLabelsX: S,
16698                dataLabelsY: C,
16699                dataLabelsConfig: P,
16700                barDataLabelsConfig: I,
16701                barTotalDataLabelsConfig: M,
16702                offX: T,
16703                offY: z,
16704              };
16705              return (
16706                (L = this.barCtx.isHorizontal
16707                  ? this.calculateBarsDataLabelsPosition(Y)
16708                  : this.calculateColumnsDataLabelsPosition(Y)),
16709                f.attr({
16710                  cy: L.bcy,
16711                  cx: L.bcx,
16712                  j: o,
16713                  val: h[r][o],
16714                  barHeight: c,
16715                  barWidth: d,
16716                }),
16717                (k = this.drawCalculatedDataLabels({
16718                  x: L.dataLabelsX,
16719                  y: L.dataLabelsY,
16720                  val: this.barCtx.isRangeBar ? [a, s] : h[r][o],
16721                  i: n,
16722                  j: o,
16723                  barWidth: d,
16724                  barHeight: c,
16725                  textRects: X,
16726                  dataLabelsConfig: P,
16727                })),
16728                x.config.chart.stacked &&
16729                  M.enabled &&
16730                  (A = this.drawTotalDataLabels({
16731                    x: L.totalDataLabelsX,
16732                    y: L.totalDataLabelsY,
16733                    barWidth: d,
16734                    barHeight: c,
16735                    realIndex: n,
16736                    textAnchor: L.totalDataLabelsAnchor,
16737                    val: this.getStackedTotalDataLabel({ realIndex: n, j: o }),
16738                    dataLabelsConfig: P,
16739                    barTotalDataLabelsConfig: M,
16740                  })),
16741                { dataLabels: k, totalDataLabels: A }
16742              );
16743            },
16744          },
16745          {
16746            key: "getStackedTotalDataLabel",
16747            value: function (t) {
16748              var i = t.realIndex,
16749                a = t.j,
16750                s = this.w,
16751                r = this.barCtx.stackedSeriesTotals[a];
16752              return (
16753                this.totalFormatter &&
16754                  (r = this.totalFormatter(
16755                    r,
16756                    e(e({}, s), {}, { seriesIndex: i, dataPointIndex: a, w: s })
16757                  )),
16758                r
16759              );
16760            },
16761          },
16762          {
16763            key: "calculateColumnsDataLabelsPosition",
16764            value: function (t) {
16765              var e,
16766                i,
16767                a = this.w,
16768                s = t.i,
16769                r = t.j,
16770                o = t.realIndex,
16771                n = t.groupIndex,
16772                l = t.y,
16773                h = t.bcx,
16774                c = t.barWidth,
16775                d = t.barHeight,
16776                g = t.textRects,
16777                u = t.dataLabelsX,
16778                p = t.dataLabelsY,
16779                f = t.dataLabelsConfig,
16780                x = t.barDataLabelsConfig,
16781                b = t.barTotalDataLabelsConfig,
16782                v = t.strokeWidth,
16783                y = t.offX,
16784                w = t.offY;
16785              d = Math.abs(d);
16786              var k =
16787                  "vertical" ===
16788                  a.config.plotOptions.bar.dataLabels.orientation,
16789                A = this.barCtx.barHelpers.getZeroValueEncounters({
16790                  i: s,
16791                  j: r,
16792                }).zeroEncounters;
16793              h = h - v / 2 + (-1 !== n ? n * c : 0);
16794              var S = a.globals.gridWidth / a.globals.dataPoints;
16795              if (
16796                (this.barCtx.isVerticalGroupedRangeBar
16797                  ? (u += c / 2)
16798                  : ((u = a.globals.isXNumeric
16799                      ? h - c / 2 + y
16800                      : h - S + c / 2 + y),
16801                    A > 0 &&
16802                      a.config.plotOptions.bar.hideZeroBarsWhenGrouped &&
16803                      (u -= c * A)),
16804                k)
16805              ) {
16806                u = u + g.height / 2 - v / 2 - 2;
16807              }
16808              var C = this.barCtx.series[s][r] < 0,
16809                L = l;
16810              switch (
16811                (this.barCtx.isReversed &&
16812                  ((L = l - d + (C ? 2 * d : 0)), (l -= d)),
16813                x.position)
16814              ) {
16815                case "center":
16816                  p = k
16817                    ? C
16818                      ? L - d / 2 + w
16819                      : L + d / 2 - w
16820                    : C
16821                    ? L - d / 2 + g.height / 2 + w
16822                    : L + d / 2 + g.height / 2 - w;
16823                  break;
16824                case "bottom":
16825                  p = k
16826                    ? C
16827                      ? L - d + w
16828                      : L + d - w
16829                    : C
16830                    ? L - d + g.height + v + w
16831                    : L + d - g.height / 2 + v - w;
16832                  break;
16833                case "top":
16834                  p = k
16835                    ? C
16836                      ? L + w
16837                      : L - w
16838                    : C
16839                    ? L - g.height / 2 - w
16840                    : L + g.height + w;
16841              }
16842              if (this.barCtx.lastActiveBarSerieIndex === o && b.enabled) {
16843                var P = new m(this.barCtx.ctx).getTextRects(
16844                  this.getStackedTotalDataLabel({ realIndex: o, j: r }),
16845                  f.fontSize
16846                );
16847                (e = C
16848                  ? L - P.height / 2 - w - b.offsetY + 18
16849                  : L + P.height + w + b.offsetY - 18),
16850                  (i = u + b.offsetX);
16851              }
16852              return (
16853                a.config.chart.stacked ||
16854                  (p < 0
16855                    ? (p = 0 + v)
16856                    : p + g.height / 3 > a.globals.gridHeight &&
16857                      (p = a.globals.gridHeight - v)),
16858                {
16859                  bcx: h,
16860                  bcy: l,
16861                  dataLabelsX: u,
16862                  dataLabelsY: p,
16863                  totalDataLabelsX: i,
16864                  totalDataLabelsY: e,
16865                  totalDataLabelsAnchor: "middle",
16866                }
16867              );
16868            },
16869          },
16870          {
16871            key: "calculateBarsDataLabelsPosition",
16872            value: function (t) {
16873              var e = this.w,
16874                i = t.x,
16875                a = t.i,
16876                s = t.j,
16877                r = t.realIndex,
16878                o = t.groupIndex,
16879                n = t.bcy,
16880                l = t.barHeight,
16881                h = t.barWidth,
16882                c = t.textRects,
16883                d = t.dataLabelsX,
16884                g = t.strokeWidth,
16885                u = t.dataLabelsConfig,
16886                p = t.barDataLabelsConfig,
16887                f = t.barTotalDataLabelsConfig,
16888                x = t.offX,
16889                b = t.offY,
16890                v = e.globals.gridHeight / e.globals.dataPoints;
16891              h = Math.abs(h);
16892              var y,
16893                w,
16894                k =
16895                  (n += -1 !== o ? o * l : 0) -
16896                  (this.barCtx.isRangeBar ? 0 : v) +
16897                  l / 2 +
16898                  c.height / 2 +
16899                  b -
16900                  3,
16901                A = "start",
16902                S = this.barCtx.series[a][s] < 0,
16903                C = i;
16904              switch (
16905                (this.barCtx.isReversed &&
16906                  ((C = i + h - (S ? 2 * h : 0)),
16907                  (i = e.globals.gridWidth - h)),
16908                p.position)
16909              ) {
16910                case "center":
16911                  d = S ? C + h / 2 - x : Math.max(c.width / 2, C - h / 2) + x;
16912                  break;
16913                case "bottom":
16914                  d = S
16915                    ? C + h - g - Math.round(c.width / 2) - x
16916                    : C - h + g + Math.round(c.width / 2) + x;
16917                  break;
16918                case "top":
16919                  d = S
16920                    ? C - g + Math.round(c.width / 2) - x
16921                    : C - g - Math.round(c.width / 2) + x;
16922              }
16923              if (this.barCtx.lastActiveBarSerieIndex === r && f.enabled) {
16924                var L = new m(this.barCtx.ctx).getTextRects(
16925                  this.getStackedTotalDataLabel({ realIndex: r, j: s }),
16926                  u.fontSize
16927                );
16928                S
16929                  ? ((y = C - g + Math.round(L.width / 2) - x - f.offsetX - 15),
16930                    (A = "end"))
16931                  : (y = C - g - Math.round(L.width / 2) + x + f.offsetX + 15),
16932                  (w = k + f.offsetY);
16933              }
16934              return (
16935                e.config.chart.stacked ||
16936                  (d < 0
16937                    ? (d = d + c.width + g)
16938                    : d + c.width / 2 > e.globals.gridWidth &&
16939                      (d = e.globals.gridWidth - c.width - g)),
16940                {
16941                  bcx: i,
16942                  bcy: n,
16943                  dataLabelsX: d,
16944                  dataLabelsY: k,
16945                  totalDataLabelsX: y,
16946                  totalDataLabelsY: w,
16947                  totalDataLabelsAnchor: A,
16948                }
16949              );
16950            },
16951          },
16952          {
16953            key: "drawCalculatedDataLabels",
16954            value: function (t) {
16955              var i = t.x,
16956                a = t.y,
16957                s = t.val,
16958                r = t.i,
16959                o = t.j,
16960                n = t.textRects,
16961                l = t.barHeight,
16962                h = t.barWidth,
16963                c = t.dataLabelsConfig,
16964                d = this.w,
16965                g = "rotate(0)";
16966              "vertical" === d.config.plotOptions.bar.dataLabels.orientation &&
16967                (g = "rotate(-90, ".concat(i, ", ").concat(a, ")"));
16968              var u = new O(this.barCtx.ctx),
16969                p = new m(this.barCtx.ctx),
16970                f = c.formatter,
16971                x = null,
16972                b = d.globals.collapsedSeriesIndices.indexOf(r) > -1;
16973              if (c.enabled && !b) {
16974                x = p.group({ class: "apexcharts-data-labels", transform: g });
16975                var v = "";
16976                void 0 !== s &&
16977                  (v = f(
16978                    s,
16979                    e(e({}, d), {}, { seriesIndex: r, dataPointIndex: o, w: d })
16980                  )),
16981                  !s &&
16982                    d.config.plotOptions.bar.hideZeroBarsWhenGrouped &&
16983                    (v = "");
16984                var y = d.globals.series[r][o] < 0,
16985                  w = d.config.plotOptions.bar.dataLabels.position;
16986                if (
16987                  ("vertical" ===
16988                    d.config.plotOptions.bar.dataLabels.orientation &&
16989                    ("top" === w && (c.textAnchor = y ? "end" : "start"),
16990                    "center" === w && (c.textAnchor = "middle"),
16991                    "bottom" === w && (c.textAnchor = y ? "end" : "start")),
16992                  this.barCtx.isRangeBar &&
16993                    this.barCtx.barOptions.dataLabels.hideOverflowingLabels)
16994                )
16995                  h < p.getTextRects(v, parseFloat(c.style.fontSize)).width &&
16996                    (v = "");
16997                d.config.chart.stacked &&
16998                  this.barCtx.barOptions.dataLabels.hideOverflowingLabels &&
16999                  (this.barCtx.isHorizontal
17000                    ? n.width / 1.6 > Math.abs(h) && (v = "")
17001                    : n.height / 1.6 > Math.abs(l) && (v = ""));
17002                var k = e({}, c);
17003                this.barCtx.isHorizontal &&
17004                  s < 0 &&
17005                  ("start" === c.textAnchor
17006                    ? (k.textAnchor = "end")
17007                    : "end" === c.textAnchor && (k.textAnchor = "start")),
17008                  u.plotDataLabelsText({
17009                    x: i,
17010                    y: a,
17011                    text: v,
17012                    i: r,
17013                    j: o,
17014                    parent: x,
17015                    dataLabelsConfig: k,
17016                    alwaysDrawDataLabel: !0,
17017                    offsetCorrection: !0,
17018                  });
17019              }
17020              return x;
17021            },
17022          },
17023          {
17024            key: "drawTotalDataLabels",
17025            value: function (t) {
17026              var e,
17027                i = t.x,
17028                a = t.y,
17029                s = t.val,
17030                r = t.barWidth,
17031                o = t.barHeight,
17032                n = t.realIndex,
17033                l = t.textAnchor,
17034                h = t.barTotalDataLabelsConfig,
17035                c = this.w,
17036                d = new m(this.barCtx.ctx);
17037              return (
17038                h.enabled &&
17039                  void 0 !== i &&
17040                  void 0 !== a &&
17041                  this.barCtx.lastActiveBarSerieIndex === n &&
17042                  (e = d.drawText({
17043                    x:
17044                      i -
17045                      (!c.globals.isBarHorizontal &&
17046                      c.globals.seriesGroups.length
17047                        ? r / c.globals.seriesGroups.length
17048                        : 0),
17049                    y:
17050                      a -
17051                      (c.globals.isBarHorizontal &&
17052                      c.globals.seriesGroups.length
17053                        ? o / c.globals.seriesGroups.length
17054                        : 0),
17055                    foreColor: h.style.color,
17056                    text: s,
17057                    textAnchor: l,
17058                    fontFamily: h.style.fontFamily,
17059                    fontSize: h.style.fontSize,
17060                    fontWeight: h.style.fontWeight,
17061                  })),
17062                e
17063              );
17064            },
17065          },
17066        ]),
17067        t
17068      );
17069    })(),
17070    mt = (function () {
17071      function t(e) {
17072        a(this, t), (this.w = e.w), (this.barCtx = e);
17073      }
17074      return (
17075        r(t, [
17076          {
17077            key: "initVariables",
17078            value: function (t) {
17079              var e = this.w;
17080              (this.barCtx.series = t),
17081                (this.barCtx.totalItems = 0),
17082                (this.barCtx.seriesLen = 0),
17083                (this.barCtx.visibleI = -1),
17084                (this.barCtx.visibleItems = 1);
17085              for (var i = 0; i < t.length; i++)
17086                if (
17087                  (t[i].length > 0 &&
17088                    ((this.barCtx.seriesLen = this.barCtx.seriesLen + 1),
17089                    (this.barCtx.totalItems += t[i].length)),
17090                  e.globals.isXNumeric)
17091                )
17092                  for (var a = 0; a < t[i].length; a++)
17093                    e.globals.seriesX[i][a] > e.globals.minX &&
17094                      e.globals.seriesX[i][a] < e.globals.maxX &&
17095                      this.barCtx.visibleItems++;
17096                else this.barCtx.visibleItems = e.globals.dataPoints;
17097              0 === this.barCtx.seriesLen && (this.barCtx.seriesLen = 1),
17098                (this.barCtx.zeroSerieses = []),
17099                e.globals.comboCharts || this.checkZeroSeries({ series: t });
17100            },
17101          },
17102          {
17103            key: "initialPositions",
17104            value: function () {
17105              var t,
17106                e,
17107                i,
17108                a,
17109                s,
17110                r,
17111                o,
17112                n,
17113                l = this.w,
17114                h = l.globals.dataPoints;
17115              this.barCtx.isRangeBar && (h = l.globals.labels.length);
17116              var c = this.barCtx.seriesLen;
17117              if (
17118                (l.config.plotOptions.bar.rangeBarGroupRows && (c = 1),
17119                this.barCtx.isHorizontal)
17120              )
17121                (s = (i = l.globals.gridHeight / h) / c),
17122                  l.globals.isXNumeric &&
17123                    (s =
17124                      (i = l.globals.gridHeight / this.barCtx.totalItems) /
17125                      this.barCtx.seriesLen),
17126                  (s =
17127                    (s * parseInt(this.barCtx.barOptions.barHeight, 10)) / 100),
17128                  -1 ===
17129                    String(this.barCtx.barOptions.barHeight).indexOf("%") &&
17130                    (s = parseInt(this.barCtx.barOptions.barHeight, 10)),
17131                  (n =
17132                    this.barCtx.baseLineInvertedY +
17133                    l.globals.padHorizontal +
17134                    (this.barCtx.isReversed ? l.globals.gridWidth : 0) -
17135                    (this.barCtx.isReversed
17136                      ? 2 * this.barCtx.baseLineInvertedY
17137                      : 0)),
17138                  this.barCtx.isFunnel && (n = l.globals.gridWidth / 2),
17139                  (e = (i - s * this.barCtx.seriesLen) / 2);
17140              else {
17141                if (
17142                  ((a = l.globals.gridWidth / this.barCtx.visibleItems),
17143                  l.config.xaxis.convertedCatToNumeric &&
17144                    (a = l.globals.gridWidth / l.globals.dataPoints),
17145                  (r =
17146                    ((a / c) *
17147                      parseInt(this.barCtx.barOptions.columnWidth, 10)) /
17148                    100),
17149                  l.globals.isXNumeric)
17150                ) {
17151                  var d = this.barCtx.xRatio;
17152                  l.globals.minXDiff &&
17153                    0.5 !== l.globals.minXDiff &&
17154                    l.globals.minXDiff / d > 0 &&
17155                    (a = l.globals.minXDiff / d),
17156                    (r =
17157                      ((a / c) *
17158                        parseInt(this.barCtx.barOptions.columnWidth, 10)) /
17159                      100) < 1 && (r = 1);
17160                }
17161                -1 ===
17162                  String(this.barCtx.barOptions.columnWidth).indexOf("%") &&
17163                  (r = parseInt(this.barCtx.barOptions.columnWidth, 10)),
17164                  (o =
17165                    l.globals.gridHeight -
17166                    this.barCtx.baseLineY[this.barCtx.yaxisIndex] -
17167                    (this.barCtx.isReversed ? l.globals.gridHeight : 0) +
17168                    (this.barCtx.isReversed
17169                      ? 2 * this.barCtx.baseLineY[this.barCtx.yaxisIndex]
17170                      : 0)),
17171                  (t =
17172                    l.globals.padHorizontal +
17173                    (a - r * this.barCtx.seriesLen) / 2);
17174              }
17175              return (
17176                (l.globals.barHeight = s),
17177                (l.globals.barWidth = r),
17178                {
17179                  x: t,
17180                  y: e,
17181                  yDivision: i,
17182                  xDivision: a,
17183                  barHeight: s,
17184                  barWidth: r,
17185                  zeroH: o,
17186                  zeroW: n,
17187                }
17188              );
17189            },
17190          },
17191          {
17192            key: "initializeStackedPrevVars",
17193            value: function (t) {
17194              var e = t.w;
17195              e.globals.hasSeriesGroups
17196                ? e.globals.seriesGroups.forEach(function (e) {
17197                    t[e] || (t[e] = {}),
17198                      (t[e].prevY = []),
17199                      (t[e].prevX = []),
17200                      (t[e].prevYF = []),
17201                      (t[e].prevXF = []),
17202                      (t[e].prevYVal = []),
17203                      (t[e].prevXVal = []);
17204                  })
17205                : ((t.prevY = []),
17206                  (t.prevX = []),
17207                  (t.prevYF = []),
17208                  (t.prevXF = []),
17209                  (t.prevYVal = []),
17210                  (t.prevXVal = []));
17211            },
17212          },
17213          {
17214            key: "initializeStackedXYVars",
17215            value: function (t) {
17216              var e = t.w;
17217              e.globals.hasSeriesGroups
17218                ? e.globals.seriesGroups.forEach(function (e) {
17219                    t[e] || (t[e] = {}),
17220                      (t[e].xArrj = []),
17221                      (t[e].xArrjF = []),
17222                      (t[e].xArrjVal = []),
17223                      (t[e].yArrj = []),
17224                      (t[e].yArrjF = []),
17225                      (t[e].yArrjVal = []);
17226                  })
17227                : ((t.xArrj = []),
17228                  (t.xArrjF = []),
17229                  (t.xArrjVal = []),
17230                  (t.yArrj = []),
17231                  (t.yArrjF = []),
17232                  (t.yArrjVal = []));
17233            },
17234          },
17235          {
17236            key: "getPathFillColor",
17237            value: function (t, e, i, a) {
17238              var s,
17239                r,
17240                o,
17241                n,
17242                l = this.w,
17243                h = new R(this.barCtx.ctx),
17244                c = null,
17245                d = this.barCtx.barOptions.distributed ? i : e;
17246              this.barCtx.barOptions.colors.ranges.length > 0 &&
17247                this.barCtx.barOptions.colors.ranges.map(function (a) {
17248                  t[e][i] >= a.from && t[e][i] <= a.to && (c = a.color);
17249                });
17250              return (
17251                l.config.series[e].data[i] &&
17252                  l.config.series[e].data[i].fillColor &&
17253                  (c = l.config.series[e].data[i].fillColor),
17254                h.fillPath({
17255                  seriesNumber: this.barCtx.barOptions.distributed ? d : a,
17256                  dataPointIndex: i,
17257                  color: c,
17258                  value: t[e][i],
17259                  fillConfig:
17260                    null === (s = l.config.series[e].data[i]) || void 0 === s
17261                      ? void 0
17262                      : s.fill,
17263                  fillType:
17264                    null !== (r = l.config.series[e].data[i]) &&
17265                    void 0 !== r &&
17266                    null !== (o = r.fill) &&
17267                    void 0 !== o &&
17268                    o.type
17269                      ? null === (n = l.config.series[e].data[i]) ||
17270                        void 0 === n
17271                        ? void 0
17272                        : n.fill.type
17273                      : Array.isArray(l.config.fill.type)
17274                      ? l.config.fill.type[e]
17275                      : l.config.fill.type,
17276                })
17277              );
17278            },
17279          },
17280          {
17281            key: "getStrokeWidth",
17282            value: function (t, e, i) {
17283              var a = 0,
17284                s = this.w;
17285              return (
17286                void 0 === this.barCtx.series[t][e] ||
17287                null === this.barCtx.series[t][e]
17288                  ? (this.barCtx.isNullValue = !0)
17289                  : (this.barCtx.isNullValue = !1),
17290                s.config.stroke.show &&
17291                  (this.barCtx.isNullValue ||
17292                    (a = Array.isArray(this.barCtx.strokeWidth)
17293                      ? this.barCtx.strokeWidth[i]
17294                      : this.barCtx.strokeWidth)),
17295                a
17296              );
17297            },
17298          },
17299          {
17300            key: "shouldApplyRadius",
17301            value: function (t) {
17302              var e = this.w,
17303                i = !1;
17304              return (
17305                e.config.plotOptions.bar.borderRadius > 0 &&
17306                  (e.config.chart.stacked &&
17307                  "last" === e.config.plotOptions.bar.borderRadiusWhenStacked
17308                    ? this.barCtx.lastActiveBarSerieIndex === t && (i = !0)
17309                    : (i = !0)),
17310                i
17311              );
17312            },
17313          },
17314          {
17315            key: "barBackground",
17316            value: function (t) {
17317              var e = t.j,
17318                i = t.i,
17319                a = t.x1,
17320                s = t.x2,
17321                r = t.y1,
17322                o = t.y2,
17323                n = t.elSeries,
17324                l = this.w,
17325                h = new m(this.barCtx.ctx),
17326                c = new N(this.barCtx.ctx).getActiveConfigSeriesIndex();
17327              if (
17328                this.barCtx.barOptions.colors.backgroundBarColors.length > 0 &&
17329                c === i
17330              ) {
17331                e >= this.barCtx.barOptions.colors.backgroundBarColors.length &&
17332                  (e %=
17333                    this.barCtx.barOptions.colors.backgroundBarColors.length);
17334                var d = this.barCtx.barOptions.colors.backgroundBarColors[e],
17335                  g = h.drawRect(
17336                    void 0 !== a ? a : 0,
17337                    void 0 !== r ? r : 0,
17338                    void 0 !== s ? s : l.globals.gridWidth,
17339                    void 0 !== o ? o : l.globals.gridHeight,
17340                    this.barCtx.barOptions.colors.backgroundBarRadius,
17341                    d,
17342                    this.barCtx.barOptions.colors.backgroundBarOpacity
17343                  );
17344                n.add(g), g.node.classList.add("apexcharts-backgroundBar");
17345              }
17346            },
17347          },
17348          {
17349            key: "getColumnPaths",
17350            value: function (t) {
17351              var e,
17352                i = t.barWidth,
17353                a = t.barXPosition,
17354                s = t.y1,
17355                r = t.y2,
17356                o = t.strokeWidth,
17357                n = t.seriesGroup,
17358                l = t.realIndex,
17359                h = t.i,
17360                c = t.j,
17361                d = t.w,
17362                g = new m(this.barCtx.ctx);
17363              (o = Array.isArray(o) ? o[l] : o) || (o = 0);
17364              var u = i,
17365                p = a;
17366              null !== (e = d.config.series[l].data[c]) &&
17367                void 0 !== e &&
17368                e.columnWidthOffset &&
17369                ((p = a - d.config.series[l].data[c].columnWidthOffset / 2),
17370                (u = i + d.config.series[l].data[c].columnWidthOffset));
17371              var f = p,
17372                x = p + u;
17373              (s += 0.001), (r += 0.001);
17374              var b = g.move(f, s),
17375                v = g.move(f, s),
17376                y = g.line(x - o, s);
17377              if (
17378                (d.globals.previousPaths.length > 0 &&
17379                  (v = this.barCtx.getPreviousPath(l, c, !1)),
17380                (b =
17381                  b +
17382                  g.line(f, r) +
17383                  g.line(x - o, r) +
17384                  g.line(x - o, s) +
17385                  ("around" === d.config.plotOptions.bar.borderRadiusApplication
17386                    ? " Z"
17387                    : " z")),
17388                (v =
17389                  v +
17390                  g.line(f, s) +
17391                  y +
17392                  y +
17393                  y +
17394                  y +
17395                  y +
17396                  g.line(f, s) +
17397                  ("around" === d.config.plotOptions.bar.borderRadiusApplication
17398                    ? " Z"
17399                    : " z")),
17400                this.shouldApplyRadius(l) &&
17401                  (b = g.roundPathCorners(
17402                    b,
17403                    d.config.plotOptions.bar.borderRadius
17404                  )),
17405                d.config.chart.stacked)
17406              ) {
17407                var w = this.barCtx;
17408                d.globals.hasSeriesGroups && n && (w = this.barCtx[n]),
17409                  w.yArrj.push(r),
17410                  w.yArrjF.push(Math.abs(s - r)),
17411                  w.yArrjVal.push(this.barCtx.series[h][c]);
17412              }
17413              return { pathTo: b, pathFrom: v };
17414            },
17415          },
17416          {
17417            key: "getBarpaths",
17418            value: function (t) {
17419              var e,
17420                i = t.barYPosition,
17421                a = t.barHeight,
17422                s = t.x1,
17423                r = t.x2,
17424                o = t.strokeWidth,
17425                n = t.seriesGroup,
17426                l = t.realIndex,
17427                h = t.i,
17428                c = t.j,
17429                d = t.w,
17430                g = new m(this.barCtx.ctx);
17431              (o = Array.isArray(o) ? o[l] : o) || (o = 0);
17432              var u = i,
17433                p = a;
17434              null !== (e = d.config.series[l].data[c]) &&
17435                void 0 !== e &&
17436                e.barHeightOffset &&
17437                ((u = i - d.config.series[l].data[c].barHeightOffset / 2),
17438                (p = a + d.config.series[l].data[c].barHeightOffset));
17439              var f = u,
17440                x = u + p;
17441              (s += 0.001), (r += 0.001);
17442              var b = g.move(s, f),
17443                v = g.move(s, f);
17444              d.globals.previousPaths.length > 0 &&
17445                (v = this.barCtx.getPreviousPath(l, c, !1));
17446              var y = g.line(s, x - o);
17447              if (
17448                ((b =
17449                  b +
17450                  g.line(r, f) +
17451                  g.line(r, x - o) +
17452                  y +
17453                  ("around" === d.config.plotOptions.bar.borderRadiusApplication
17454                    ? " Z"
17455                    : " z")),
17456                (v =
17457                  v +
17458                  g.line(s, f) +
17459                  y +
17460                  y +
17461                  y +
17462                  y +
17463                  y +
17464                  g.line(s, f) +
17465                  ("around" === d.config.plotOptions.bar.borderRadiusApplication
17466                    ? " Z"
17467                    : " z")),
17468                this.shouldApplyRadius(l) &&
17469                  (b = g.roundPathCorners(
17470                    b,
17471                    d.config.plotOptions.bar.borderRadius
17472                  )),
17473                d.config.chart.stacked)
17474              ) {
17475                var w = this.barCtx;
17476                d.globals.hasSeriesGroups && n && (w = this.barCtx[n]),
17477                  w.xArrj.push(r),
17478                  w.xArrjF.push(Math.abs(s - r)),
17479                  w.xArrjVal.push(this.barCtx.series[h][c]);
17480              }
17481              return { pathTo: b, pathFrom: v };
17482            },
17483          },
17484          {
17485            key: "checkZeroSeries",
17486            value: function (t) {
17487              for (var e = t.series, i = this.w, a = 0; a < e.length; a++) {
17488                for (
17489                  var s = 0, r = 0;
17490                  r < e[i.globals.maxValsInArrayIndex].length;
17491                  r++
17492                )
17493                  s += e[a][r];
17494                0 === s && this.barCtx.zeroSerieses.push(a);
17495              }
17496            },
17497          },
17498          {
17499            key: "getXForValue",
17500            value: function (t, e) {
17501              var i =
17502                !(arguments.length > 2 && void 0 !== arguments[2]) ||
17503                arguments[2]
17504                  ? e
17505                  : null;
17506              return (
17507                null != t &&
17508                  (i =
17509                    e +
17510                    t / this.barCtx.invertedYRatio -
17511                    2 *
17512                      (this.barCtx.isReversed
17513                        ? t / this.barCtx.invertedYRatio
17514                        : 0)),
17515                i
17516              );
17517            },
17518          },
17519          {
17520            key: "getYForValue",
17521            value: function (t, e) {
17522              var i =
17523                !(arguments.length > 2 && void 0 !== arguments[2]) ||
17524                arguments[2]
17525                  ? e
17526                  : null;
17527              return (
17528                null != t &&
17529                  (i =
17530                    e -
17531                    t / this.barCtx.yRatio[this.barCtx.yaxisIndex] +
17532                    2 *
17533                      (this.barCtx.isReversed
17534                        ? t / this.barCtx.yRatio[this.barCtx.yaxisIndex]
17535                        : 0)),
17536                i
17537              );
17538            },
17539          },
17540          {
17541            key: "getGoalValues",
17542            value: function (t, i, a, s, r) {
17543              var n = this,
17544                l = this.w,
17545                h = [],
17546                c = function (e, s) {
17547                  var r;
17548                  h.push(
17549                    (o(
17550                      (r = {}),
17551                      t,
17552                      "x" === t
17553                        ? n.getXForValue(e, i, !1)
17554                        : n.getYForValue(e, a, !1)
17555                    ),
17556                    o(r, "attrs", s),
17557                    r)
17558                  );
17559                };
17560              if (
17561                (l.globals.seriesGoals[s] &&
17562                  l.globals.seriesGoals[s][r] &&
17563                  Array.isArray(l.globals.seriesGoals[s][r]) &&
17564                  l.globals.seriesGoals[s][r].forEach(function (t) {
17565                    c(t.value, t);
17566                  }),
17567                this.barCtx.barOptions.isDumbbell &&
17568                  l.globals.seriesRange.length)
17569              ) {
17570                var d = this.barCtx.barOptions.dumbbellColors
17571                    ? this.barCtx.barOptions.dumbbellColors
17572                    : l.globals.colors,
17573                  g = {
17574                    strokeHeight: "x" === t ? 0 : l.globals.markers.size[s],
17575                    strokeWidth: "x" === t ? l.globals.markers.size[s] : 0,
17576                    strokeDashArray: 0,
17577                    strokeLineCap: "round",
17578                    strokeColor: Array.isArray(d[s]) ? d[s][0] : d[s],
17579                  };
17580                c(l.globals.seriesRangeStart[s][r], g),
17581                  c(
17582                    l.globals.seriesRangeEnd[s][r],
17583                    e(
17584                      e({}, g),
17585                      {},
17586                      { strokeColor: Array.isArray(d[s]) ? d[s][1] : d[s] }
17587                    )
17588                  );
17589              }
17590              return h;
17591            },
17592          },
17593          {
17594            key: "drawGoalLine",
17595            value: function (t) {
17596              var e = t.barXPosition,
17597                i = t.barYPosition,
17598                a = t.goalX,
17599                s = t.goalY,
17600                r = t.barWidth,
17601                o = t.barHeight,
17602                n = new m(this.barCtx.ctx),
17603                l = n.group({ className: "apexcharts-bar-goals-groups" });
17604              l.node.classList.add("apexcharts-element-hidden"),
17605                this.barCtx.w.globals.delayedElements.push({ el: l.node }),
17606                l.attr(
17607                  "clip-path",
17608                  "url(#gridRectMarkerMask".concat(
17609                    this.barCtx.w.globals.cuid,
17610                    ")"
17611                  )
17612                );
17613              var h = null;
17614              return (
17615                this.barCtx.isHorizontal
17616                  ? Array.isArray(a) &&
17617                    a.forEach(function (t) {
17618                      var e =
17619                          void 0 !== t.attrs.strokeHeight
17620                            ? t.attrs.strokeHeight
17621                            : o / 2,
17622                        a = i + e + o / 2;
17623                      (h = n.drawLine(
17624                        t.x,
17625                        a - 2 * e,
17626                        t.x,
17627                        a,
17628                        t.attrs.strokeColor ? t.attrs.strokeColor : void 0,
17629                        t.attrs.strokeDashArray,
17630                        t.attrs.strokeWidth ? t.attrs.strokeWidth : 2,
17631                        t.attrs.strokeLineCap
17632                      )),
17633                        l.add(h);
17634                    })
17635                  : Array.isArray(s) &&
17636                    s.forEach(function (t) {
17637                      var i =
17638                          void 0 !== t.attrs.strokeWidth
17639                            ? t.attrs.strokeWidth
17640                            : r / 2,
17641                        a = e + i + r / 2;
17642                      (h = n.drawLine(
17643                        a - 2 * i,
17644                        t.y,
17645                        a,
17646                        t.y,
17647                        t.attrs.strokeColor ? t.attrs.strokeColor : void 0,
17648                        t.attrs.strokeDashArray,
17649                        t.attrs.strokeHeight ? t.attrs.strokeHeight : 2,
17650                        t.attrs.strokeLineCap
17651                      )),
17652                        l.add(h);
17653                    }),
17654                l
17655              );
17656            },
17657          },
17658          {
17659            key: "drawBarShadow",
17660            value: function (t) {
17661              var e = t.prevPaths,
17662                i = t.currPaths,
17663                a = t.color,
17664                s = this.w,
17665                r = e.x,
17666                o = e.x1,
17667                n = e.barYPosition,
17668                l = i.x,
17669                h = i.x1,
17670                c = i.barYPosition,
17671                d = n + i.barHeight,
17672                g = new m(this.barCtx.ctx),
17673                u = new x(),
17674                p =
17675                  g.move(o, d) +
17676                  g.line(r, d) +
17677                  g.line(l, c) +
17678                  g.line(h, c) +
17679                  g.line(o, d) +
17680                  ("around" === s.config.plotOptions.bar.borderRadiusApplication
17681                    ? " Z"
17682                    : " z");
17683              return g.drawPath({
17684                d: p,
17685                fill: u.shadeColor(0.5, x.rgb2hex(a)),
17686                stroke: "none",
17687                strokeWidth: 0,
17688                fillOpacity: 1,
17689                classes: "apexcharts-bar-shadows",
17690              });
17691            },
17692          },
17693          {
17694            key: "getZeroValueEncounters",
17695            value: function (t) {
17696              var e = t.i,
17697                i = t.j,
17698                a = this.w,
17699                s = 0,
17700                r = 0;
17701              return (
17702                a.globals.seriesPercent.forEach(function (t, a) {
17703                  t[i] && s++, a < e && 0 === t[i] && r++;
17704                }),
17705                { nonZeroColumns: s, zeroEncounters: r }
17706              );
17707            },
17708          },
17709        ]),
17710        t
17711      );
17712    })(),
17713    yt = (function () {
17714      function t(e, i) {
17715        a(this, t), (this.ctx = e), (this.w = e.w);
17716        var s = this.w;
17717        (this.barOptions = s.config.plotOptions.bar),
17718          (this.isHorizontal = this.barOptions.horizontal),
17719          (this.strokeWidth = s.config.stroke.width),
17720          (this.isNullValue = !1),
17721          (this.isRangeBar = s.globals.seriesRange.length && this.isHorizontal),
17722          (this.isVerticalGroupedRangeBar =
17723            !s.globals.isBarHorizontal &&
17724            s.globals.seriesRange.length &&
17725            s.config.plotOptions.bar.rangeBarGroupRows),
17726          (this.isFunnel = this.barOptions.isFunnel),
17727          (this.xyRatios = i),
17728          null !== this.xyRatios &&
17729            ((this.xRatio = i.xRatio),
17730            (this.yRatio = i.yRatio),
17731            (this.invertedXRatio = i.invertedXRatio),
17732            (this.invertedYRatio = i.invertedYRatio),
17733            (this.baseLineY = i.baseLineY),
17734            (this.baseLineInvertedY = i.baseLineInvertedY)),
17735          (this.yaxisIndex = 0),
17736          (this.seriesLen = 0),
17737          (this.pathArr = []);
17738        var r = new N(this.ctx);
17739        this.lastActiveBarSerieIndex = r.getActiveConfigSeriesIndex("desc", [
17740          "bar",
17741          "column",
17742        ]);
17743        var o = r.getBarSeriesIndices(),
17744          n = new y(this.ctx);
17745        (this.stackedSeriesTotals = n.getStackedSeriesTotals(
17746          this.w.config.series
17747            .map(function (t, e) {
17748              return -1 === o.indexOf(e) ? e : -1;
17749            })
17750            .filter(function (t) {
17751              return -1 !== t;
17752            })
17753        )),
17754          (this.barHelpers = new mt(this));
17755      }
17756      return (
17757        r(t, [
17758          {
17759            key: "draw",
17760            value: function (t, i) {
17761              var a = this.w,
17762                s = new m(this.ctx),
17763                r = new y(this.ctx, a);
17764              (t = r.getLogSeries(t)),
17765                (this.series = t),
17766                (this.yRatio = r.getLogYRatios(this.yRatio)),
17767                this.barHelpers.initVariables(t);
17768              var o = s.group({
17769                class: "apexcharts-bar-series apexcharts-plot-series",
17770              });
17771              a.config.dataLabels.enabled &&
17772                this.totalItems > this.barOptions.dataLabels.maxItems &&
17773                console.warn(
17774                  "WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts"
17775                );
17776              for (var n = 0, l = 0; n < t.length; n++, l++) {
17777                var h,
17778                  c,
17779                  d,
17780                  g,
17781                  u = void 0,
17782                  p = void 0,
17783                  f = [],
17784                  b = [],
17785                  v = a.globals.comboCharts ? i[n] : n,
17786                  w = s.group({
17787                    class: "apexcharts-series",
17788                    rel: n + 1,
17789                    seriesName: x.escapeString(a.globals.seriesNames[v]),
17790                    "data:realIndex": v,
17791                  });
17792                this.ctx.series.addCollapsedClassToSeries(w, v),
17793                  t[n].length > 0 && (this.visibleI = this.visibleI + 1);
17794                var k = 0,
17795                  A = 0;
17796                this.yRatio.length > 1 && (this.yaxisIndex = v),
17797                  (this.isReversed =
17798                    a.config.yaxis[this.yaxisIndex] &&
17799                    a.config.yaxis[this.yaxisIndex].reversed);
17800                var S = this.barHelpers.initialPositions();
17801                (p = S.y),
17802                  (k = S.barHeight),
17803                  (c = S.yDivision),
17804                  (g = S.zeroW),
17805                  (u = S.x),
17806                  (A = S.barWidth),
17807                  (h = S.xDivision),
17808                  (d = S.zeroH),
17809                  this.horizontal || b.push(u + A / 2);
17810                var C = s.group({
17811                  class: "apexcharts-datalabels",
17812                  "data:realIndex": v,
17813                });
17814                a.globals.delayedElements.push({ el: C.node }),
17815                  C.node.classList.add("apexcharts-element-hidden");
17816                var L = s.group({ class: "apexcharts-bar-goals-markers" }),
17817                  P = s.group({ class: "apexcharts-bar-shadows" });
17818                a.globals.delayedElements.push({ el: P.node }),
17819                  P.node.classList.add("apexcharts-element-hidden");
17820                for (var I = 0; I < t[n].length; I++) {
17821                  var M = this.barHelpers.getStrokeWidth(n, I, v),
17822                    T = null,
17823                    z = {
17824                      indexes: { i: n, j: I, realIndex: v, bc: l },
17825                      x: u,
17826                      y: p,
17827                      strokeWidth: M,
17828                      elSeries: w,
17829                    };
17830                  this.isHorizontal
17831                    ? ((T = this.drawBarPaths(
17832                        e(
17833                          e({}, z),
17834                          {},
17835                          { barHeight: k, zeroW: g, yDivision: c }
17836                        )
17837                      )),
17838                      (A = this.series[n][I] / this.invertedYRatio))
17839                    : ((T = this.drawColumnPaths(
17840                        e(e({}, z), {}, { xDivision: h, barWidth: A, zeroH: d })
17841                      )),
17842                      (k = this.series[n][I] / this.yRatio[this.yaxisIndex]));
17843                  var X = this.barHelpers.getPathFillColor(t, n, I, v);
17844                  if (
17845                    this.isFunnel &&
17846                    this.barOptions.isFunnel3d &&
17847                    this.pathArr.length &&
17848                    I > 0
17849                  ) {
17850                    var E = this.barHelpers.drawBarShadow({
17851                      color:
17852                        "string" == typeof X &&
17853                        -1 === (null == X ? void 0 : X.indexOf("url"))
17854                          ? X
17855                          : x.hexToRgba(a.globals.colors[n]),
17856                      prevPaths: this.pathArr[this.pathArr.length - 1],
17857                      currPaths: T,
17858                    });
17859                    E && P.add(E);
17860                  }
17861                  this.pathArr.push(T);
17862                  var Y = this.barHelpers.drawGoalLine({
17863                    barXPosition: T.barXPosition,
17864                    barYPosition: T.barYPosition,
17865                    goalX: T.goalX,
17866                    goalY: T.goalY,
17867                    barHeight: k,
17868                    barWidth: A,
17869                  });
17870                  Y && L.add(Y),
17871                    (p = T.y),
17872                    (u = T.x),
17873                    I > 0 && b.push(u + A / 2),
17874                    f.push(p),
17875                    this.renderSeries({
17876                      realIndex: v,
17877                      pathFill: X,
17878                      j: I,
17879                      i: n,
17880                      pathFrom: T.pathFrom,
17881                      pathTo: T.pathTo,
17882                      strokeWidth: M,
17883                      elSeries: w,
17884                      x: u,
17885                      y: p,
17886                      series: t,
17887                      barHeight: T.barHeight ? T.barHeight : k,
17888                      barWidth: T.barWidth ? T.barWidth : A,
17889                      elDataLabelsWrap: C,
17890                      elGoalsMarkers: L,
17891                      elBarShadows: P,
17892                      visibleSeries: this.visibleI,
17893                      type: "bar",
17894                    });
17895                }
17896                (a.globals.seriesXvalues[v] = b),
17897                  (a.globals.seriesYvalues[v] = f),
17898                  o.add(w);
17899              }
17900              return o;
17901            },
17902          },
17903          {
17904            key: "renderSeries",
17905            value: function (t) {
17906              var e = t.realIndex,
17907                i = t.pathFill,
17908                a = t.lineFill,
17909                s = t.j,
17910                r = t.i,
17911                o = t.groupIndex,
17912                n = t.pathFrom,
17913                l = t.pathTo,
17914                h = t.strokeWidth,
17915                c = t.elSeries,
17916                d = t.x,
17917                g = t.y,
17918                u = t.y1,
17919                p = t.y2,
17920                f = t.series,
17921                x = t.barHeight,
17922                b = t.barWidth,
17923                y = t.barXPosition,
17924                w = t.barYPosition,
17925                k = t.elDataLabelsWrap,
17926                A = t.elGoalsMarkers,
17927                S = t.elBarShadows,
17928                C = t.visibleSeries,
17929                L = t.type,
17930                P = this.w,
17931                I = new m(this.ctx);
17932              a ||
17933                (a = this.barOptions.distributed
17934                  ? P.globals.stroke.colors[s]
17935                  : P.globals.stroke.colors[e]),
17936                P.config.series[r].data[s] &&
17937                  P.config.series[r].data[s].strokeColor &&
17938                  (a = P.config.series[r].data[s].strokeColor),
17939                this.isNullValue && (i = "none");
17940              var M =
17941                  ((s / P.config.chart.animations.animateGradually.delay) *
17942                    (P.config.chart.animations.speed / P.globals.dataPoints)) /
17943                  2.4,
17944                T = I.renderPaths({
17945                  i: r,
17946                  j: s,
17947                  realIndex: e,
17948                  pathFrom: n,
17949                  pathTo: l,
17950                  stroke: a,
17951                  strokeWidth: h,
17952                  strokeLineCap: P.config.stroke.lineCap,
17953                  fill: i,
17954                  animationDelay: M,
17955                  initialSpeed: P.config.chart.animations.speed,
17956                  dataChangeSpeed:
17957                    P.config.chart.animations.dynamicAnimation.speed,
17958                  className: "apexcharts-".concat(L, "-area"),
17959                });
17960              T.attr(
17961                "clip-path",
17962                "url(#gridRectMask".concat(P.globals.cuid, ")")
17963              );
17964              var z = P.config.forecastDataPoints;
17965              z.count > 0 &&
17966                s >= P.globals.dataPoints - z.count &&
17967                (T.node.setAttribute("stroke-dasharray", z.dashArray),
17968                T.node.setAttribute("stroke-width", z.strokeWidth),
17969                T.node.setAttribute("fill-opacity", z.fillOpacity)),
17970                void 0 !== u &&
17971                  void 0 !== p &&
17972                  (T.attr("data-range-y1", u), T.attr("data-range-y2", p)),
17973                new v(this.ctx).setSelectionFilter(T, e, s),
17974                c.add(T);
17975              var X = new vt(this).handleBarDataLabels({
17976                x: d,
17977                y: g,
17978                y1: u,
17979                y2: p,
17980                i: r,
17981                j: s,
17982                series: f,
17983                realIndex: e,
17984                groupIndex: o,
17985                barHeight: x,
17986                barWidth: b,
17987                barXPosition: y,
17988                barYPosition: w,
17989                renderedPath: T,
17990                visibleSeries: C,
17991              });
17992              return (
17993                null !== X.dataLabels && k.add(X.dataLabels),
17994                X.totalDataLabels && k.add(X.totalDataLabels),
17995                c.add(k),
17996                A && c.add(A),
17997                S && c.add(S),
17998                c
17999              );
18000            },
18001          },
18002          {
18003            key: "drawBarPaths",
18004            value: function (t) {
18005              var e,
18006                i = t.indexes,
18007                a = t.barHeight,
18008                s = t.strokeWidth,
18009                r = t.zeroW,
18010                o = t.x,
18011                n = t.y,
18012                l = t.yDivision,
18013                h = t.elSeries,
18014                c = this.w,
18015                d = i.i,
18016                g = i.j;
18017              if (c.globals.isXNumeric)
18018                e =
18019                  (n =
18020                    (c.globals.seriesX[d][g] - c.globals.minX) /
18021                      this.invertedXRatio -
18022                    a) +
18023                  a * this.visibleI;
18024              else if (c.config.plotOptions.bar.hideZeroBarsWhenGrouped) {
18025                var u = 0,
18026                  p = 0;
18027                c.globals.seriesPercent.forEach(function (t, e) {
18028                  t[g] && u++, e < d && 0 === t[g] && p++;
18029                }),
18030                  u > 0 && (a = (this.seriesLen * a) / u),
18031                  (e = n + a * this.visibleI),
18032                  (e -= a * p);
18033              } else e = n + a * this.visibleI;
18034              this.isFunnel &&
18035                (r -=
18036                  (this.barHelpers.getXForValue(this.series[d][g], r) - r) / 2),
18037                (o = this.barHelpers.getXForValue(this.series[d][g], r));
18038              var f = this.barHelpers.getBarpaths({
18039                barYPosition: e,
18040                barHeight: a,
18041                x1: r,
18042                x2: o,
18043                strokeWidth: s,
18044                series: this.series,
18045                realIndex: i.realIndex,
18046                i: d,
18047                j: g,
18048                w: c,
18049              });
18050              return (
18051                c.globals.isXNumeric || (n += l),
18052                this.barHelpers.barBackground({
18053                  j: g,
18054                  i: d,
18055                  y1: e - a * this.visibleI,
18056                  y2: a * this.seriesLen,
18057                  elSeries: h,
18058                }),
18059                {
18060                  pathTo: f.pathTo,
18061                  pathFrom: f.pathFrom,
18062                  x1: r,
18063                  x: o,
18064                  y: n,
18065                  goalX: this.barHelpers.getGoalValues("x", r, null, d, g),
18066                  barYPosition: e,
18067                  barHeight: a,
18068                }
18069              );
18070            },
18071          },
18072          {
18073            key: "drawColumnPaths",
18074            value: function (t) {
18075              var e,
18076                i = t.indexes,
18077                a = t.x,
18078                s = t.y,
18079                r = t.xDivision,
18080                o = t.barWidth,
18081                n = t.zeroH,
18082                l = t.strokeWidth,
18083                h = t.elSeries,
18084                c = this.w,
18085                d = i.realIndex,
18086                g = i.i,
18087                u = i.j,
18088                p = i.bc;
18089              if (c.globals.isXNumeric) {
18090                var f = this.getBarXForNumericXAxis({
18091                  x: a,
18092                  j: u,
18093                  realIndex: d,
18094                  barWidth: o,
18095                });
18096                (a = f.x), (e = f.barXPosition);
18097              } else if (c.config.plotOptions.bar.hideZeroBarsWhenGrouped) {
18098                var x = this.barHelpers.getZeroValueEncounters({ i: g, j: u }),
18099                  b = x.nonZeroColumns,
18100                  v = x.zeroEncounters;
18101                b > 0 && (o = (this.seriesLen * o) / b),
18102                  (e = a + o * this.visibleI),
18103                  (e -= o * v);
18104              } else e = a + o * this.visibleI;
18105              s = this.barHelpers.getYForValue(this.series[g][u], n);
18106              var m = this.barHelpers.getColumnPaths({
18107                barXPosition: e,
18108                barWidth: o,
18109                y1: n,
18110                y2: s,
18111                strokeWidth: l,
18112                series: this.series,
18113                realIndex: i.realIndex,
18114                i: g,
18115                j: u,
18116                w: c,
18117              });
18118              return (
18119                c.globals.isXNumeric || (a += r),
18120                this.barHelpers.barBackground({
18121                  bc: p,
18122                  j: u,
18123                  i: g,
18124                  x1: e - l / 2 - o * this.visibleI,
18125                  x2: o * this.seriesLen + l / 2,
18126                  elSeries: h,
18127                }),
18128                {
18129                  pathTo: m.pathTo,
18130                  pathFrom: m.pathFrom,
18131                  x: a,
18132                  y: s,
18133                  goalY: this.barHelpers.getGoalValues("y", null, n, g, u),
18134                  barXPosition: e,
18135                  barWidth: o,
18136                }
18137              );
18138            },
18139          },
18140          {
18141            key: "getBarXForNumericXAxis",
18142            value: function (t) {
18143              var e = t.x,
18144                i = t.barWidth,
18145                a = t.realIndex,
18146                s = t.j,
18147                r = this.w,
18148                o = a;
18149              return (
18150                r.globals.seriesX[a].length ||
18151                  (o = r.globals.maxValsInArrayIndex),
18152                r.globals.seriesX[o][s] &&
18153                  (e =
18154                    (r.globals.seriesX[o][s] - r.globals.minX) / this.xRatio -
18155                    (i * this.seriesLen) / 2),
18156                { barXPosition: e + i * this.visibleI, x: e }
18157              );
18158            },
18159          },
18160          {
18161            key: "getPreviousPath",
18162            value: function (t, e) {
18163              for (
18164                var i, a = this.w, s = 0;
18165                s < a.globals.previousPaths.length;
18166                s++
18167              ) {
18168                var r = a.globals.previousPaths[s];
18169                r.paths &&
18170                  r.paths.length > 0 &&
18171                  parseInt(r.realIndex, 10) === parseInt(t, 10) &&
18172                  void 0 !== a.globals.previousPaths[s].paths[e] &&
18173                  (i = a.globals.previousPaths[s].paths[e].d);
18174              }
18175              return i;
18176            },
18177          },
18178        ]),
18179        t
18180      );
18181    })(),
18182    wt = (function (t) {
18183      n(s, t);
18184      var i = d(s);
18185      function s() {
18186        return a(this, s), i.apply(this, arguments);
18187      }
18188      return (
18189        r(s, [
18190          {
18191            key: "draw",
18192            value: function (t, i) {
18193              var a = this,
18194                s = this.w;
18195              (this.graphics = new m(this.ctx)),
18196                (this.bar = new yt(this.ctx, this.xyRatios));
18197              var r = new y(this.ctx, s);
18198              (t = r.getLogSeries(t)),
18199                (this.yRatio = r.getLogYRatios(this.yRatio)),
18200                this.barHelpers.initVariables(t),
18201                "100%" === s.config.chart.stackType &&
18202                  (t = s.globals.seriesPercent.slice()),
18203                (this.series = t),
18204                this.barHelpers.initializeStackedPrevVars(this);
18205              for (
18206                var o = this.graphics.group({
18207                    class: "apexcharts-bar-series apexcharts-plot-series",
18208                  }),
18209                  n = 0,
18210                  l = 0,
18211                  h = function (r, h) {
18212                    var c = void 0,
18213                      d = void 0,
18214                      g = void 0,
18215                      u = void 0,
18216                      p = -1;
18217                    (a.groupCtx = a),
18218                      s.globals.seriesGroups.forEach(function (t, e) {
18219                        t.indexOf(s.config.series[r].name) > -1 && (p = e);
18220                      }),
18221                      -1 !== p && (a.groupCtx = a[s.globals.seriesGroups[p]]);
18222                    var f = [],
18223                      b = [],
18224                      v = s.globals.comboCharts ? i[r] : r;
18225                    a.yRatio.length > 1 && (a.yaxisIndex = v),
18226                      (a.isReversed =
18227                        s.config.yaxis[a.yaxisIndex] &&
18228                        s.config.yaxis[a.yaxisIndex].reversed);
18229                    var m = a.graphics.group({
18230                      class: "apexcharts-series",
18231                      seriesName: x.escapeString(s.globals.seriesNames[v]),
18232                      rel: r + 1,
18233                      "data:realIndex": v,
18234                    });
18235                    a.ctx.series.addCollapsedClassToSeries(m, v);
18236                    var y = a.graphics.group({
18237                        class: "apexcharts-datalabels",
18238                        "data:realIndex": v,
18239                      }),
18240                      w = a.graphics.group({
18241                        class: "apexcharts-bar-goals-markers",
18242                      }),
18243                      k = 0,
18244                      A = 0,
18245                      S = a.initialPositions(n, l, c, d, g, u);
18246                    (l = S.y),
18247                      (k = S.barHeight),
18248                      (d = S.yDivision),
18249                      (u = S.zeroW),
18250                      (n = S.x),
18251                      (A = S.barWidth),
18252                      (c = S.xDivision),
18253                      (g = S.zeroH),
18254                      (s.globals.barHeight = k),
18255                      (s.globals.barWidth = A),
18256                      a.barHelpers.initializeStackedXYVars(a),
18257                      1 === a.groupCtx.prevY.length &&
18258                        a.groupCtx.prevY[0].every(function (t) {
18259                          return isNaN(t);
18260                        }) &&
18261                        ((a.groupCtx.prevY[0] = a.groupCtx.prevY[0].map(
18262                          function (t) {
18263                            return g;
18264                          }
18265                        )),
18266                        (a.groupCtx.prevYF[0] = a.groupCtx.prevYF[0].map(
18267                          function (t) {
18268                            return 0;
18269                          }
18270                        )));
18271                    for (var C = 0; C < s.globals.dataPoints; C++) {
18272                      var L = a.barHelpers.getStrokeWidth(r, C, v),
18273                        P = {
18274                          indexes: { i: r, j: C, realIndex: v, bc: h },
18275                          strokeWidth: L,
18276                          x: n,
18277                          y: l,
18278                          elSeries: m,
18279                          groupIndex: p,
18280                          seriesGroup: s.globals.seriesGroups[p],
18281                        },
18282                        I = null;
18283                      a.isHorizontal
18284                        ? ((I = a.drawStackedBarPaths(
18285                            e(
18286                              e({}, P),
18287                              {},
18288                              { zeroW: u, barHeight: k, yDivision: d }
18289                            )
18290                          )),
18291                          (A = a.series[r][C] / a.invertedYRatio))
18292                        : ((I = a.drawStackedColumnPaths(
18293                            e(
18294                              e({}, P),
18295                              {},
18296                              { xDivision: c, barWidth: A, zeroH: g }
18297                            )
18298                          )),
18299                          (k = a.series[r][C] / a.yRatio[a.yaxisIndex]));
18300                      var M = a.barHelpers.drawGoalLine({
18301                        barXPosition: I.barXPosition,
18302                        barYPosition: I.barYPosition,
18303                        goalX: I.goalX,
18304                        goalY: I.goalY,
18305                        barHeight: k,
18306                        barWidth: A,
18307                      });
18308                      M && w.add(M), (l = I.y), (n = I.x), f.push(n), b.push(l);
18309                      var T = a.barHelpers.getPathFillColor(t, r, C, v);
18310                      m = a.renderSeries({
18311                        realIndex: v,
18312                        pathFill: T,
18313                        j: C,
18314                        i: r,
18315                        groupIndex: p,
18316                        pathFrom: I.pathFrom,
18317                        pathTo: I.pathTo,
18318                        strokeWidth: L,
18319                        elSeries: m,
18320                        x: n,
18321                        y: l,
18322                        series: t,
18323                        barHeight: k,
18324                        barWidth: A,
18325                        elDataLabelsWrap: y,
18326                        elGoalsMarkers: w,
18327                        type: "bar",
18328                        visibleSeries: 0,
18329                      });
18330                    }
18331                    (s.globals.seriesXvalues[v] = f),
18332                      (s.globals.seriesYvalues[v] = b),
18333                      a.groupCtx.prevY.push(a.groupCtx.yArrj),
18334                      a.groupCtx.prevYF.push(a.groupCtx.yArrjF),
18335                      a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),
18336                      a.groupCtx.prevX.push(a.groupCtx.xArrj),
18337                      a.groupCtx.prevXF.push(a.groupCtx.xArrjF),
18338                      a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),
18339                      o.add(m);
18340                  },
18341                  c = 0,
18342                  d = 0;
18343                c < t.length;
18344                c++, d++
18345              )
18346                h(c, d);
18347              return o;
18348            },
18349          },
18350          {
18351            key: "initialPositions",
18352            value: function (t, e, i, a, s, r) {
18353              var o,
18354                n,
18355                l,
18356                h,
18357                c = this.w;
18358              return (
18359                this.isHorizontal
18360                  ? ((l =
18361                      ((l = a = c.globals.gridHeight / c.globals.dataPoints) *
18362                        parseInt(c.config.plotOptions.bar.barHeight, 10)) /
18363                      100),
18364                    -1 ===
18365                      String(c.config.plotOptions.bar.barHeight).indexOf("%") &&
18366                      (l = parseInt(c.config.plotOptions.bar.barHeight, 10)),
18367                    (r =
18368                      this.baseLineInvertedY +
18369                      c.globals.padHorizontal +
18370                      (this.isReversed ? c.globals.gridWidth : 0) -
18371                      (this.isReversed ? 2 * this.baseLineInvertedY : 0)),
18372                    (e = (a - l) / 2))
18373                  : ((h = i = c.globals.gridWidth / c.globals.dataPoints),
18374                    (h =
18375                      c.globals.isXNumeric && c.globals.dataPoints > 1
18376                        ? ((i = c.globals.minXDiff / this.xRatio) *
18377                            parseInt(this.barOptions.columnWidth, 10)) /
18378                          100
18379                        : (h *
18380                            parseInt(
18381                              c.config.plotOptions.bar.columnWidth,
18382                              10
18383                            )) /
18384                          100),
18385                    -1 ===
18386                      String(c.config.plotOptions.bar.columnWidth).indexOf(
18387                        "%"
18388                      ) &&
18389                      (h = parseInt(c.config.plotOptions.bar.columnWidth, 10)),
18390                    (s =
18391                      c.globals.gridHeight -
18392                      this.baseLineY[this.yaxisIndex] -
18393                      (this.isReversed ? c.globals.gridHeight : 0) +
18394                      (this.isReversed
18395                        ? 2 * this.baseLineY[this.yaxisIndex]
18396                        : 0)),
18397                    (t = c.globals.padHorizontal + (i - h) / 2)),
18398                {
18399                  x: t,
18400                  y: e,
18401                  yDivision: a,
18402                  xDivision: i,
18403                  barHeight:
18404                    null !== (o = c.globals.seriesGroups) &&
18405                    void 0 !== o &&
18406                    o.length
18407                      ? l / c.globals.seriesGroups.length
18408                      : l,
18409                  barWidth:
18410                    null !== (n = c.globals.seriesGroups) &&
18411                    void 0 !== n &&
18412                    n.length
18413                      ? h / c.globals.seriesGroups.length
18414                      : h,
18415                  zeroH: s,
18416                  zeroW: r,
18417                }
18418              );
18419            },
18420          },
18421          {
18422            key: "drawStackedBarPaths",
18423            value: function (t) {
18424              for (
18425                var e,
18426                  i = t.indexes,
18427                  a = t.barHeight,
18428                  s = t.strokeWidth,
18429                  r = t.zeroW,
18430                  o = t.x,
18431                  n = t.y,
18432                  l = t.groupIndex,
18433                  h = t.seriesGroup,
18434                  c = t.yDivision,
18435                  d = t.elSeries,
18436                  g = this.w,
18437                  u = n + (-1 !== l ? l * a : 0),
18438                  p = i.i,
18439                  f = i.j,
18440                  x = 0,
18441                  b = 0;
18442                b < this.groupCtx.prevXF.length;
18443                b++
18444              )
18445                x += this.groupCtx.prevXF[b][f];
18446              var v = p;
18447              if ((h && (v = h.indexOf(g.config.series[p].name)), v > 0)) {
18448                var m = r;
18449                this.groupCtx.prevXVal[v - 1][f] < 0
18450                  ? (m =
18451                      this.series[p][f] >= 0
18452                        ? this.groupCtx.prevX[v - 1][f] +
18453                          x -
18454                          2 * (this.isReversed ? x : 0)
18455                        : this.groupCtx.prevX[v - 1][f])
18456                  : this.groupCtx.prevXVal[v - 1][f] >= 0 &&
18457                    (m =
18458                      this.series[p][f] >= 0
18459                        ? this.groupCtx.prevX[v - 1][f]
18460                        : this.groupCtx.prevX[v - 1][f] -
18461                          x +
18462                          2 * (this.isReversed ? x : 0)),
18463                  (e = m);
18464              } else e = r;
18465              o =
18466                null === this.series[p][f]
18467                  ? e
18468                  : e +
18469                    this.series[p][f] / this.invertedYRatio -
18470                    2 *
18471                      (this.isReversed
18472                        ? this.series[p][f] / this.invertedYRatio
18473                        : 0);
18474              var y = this.barHelpers.getBarpaths({
18475                barYPosition: u,
18476                barHeight: a,
18477                x1: e,
18478                x2: o,
18479                strokeWidth: s,
18480                series: this.series,
18481                realIndex: i.realIndex,
18482                seriesGroup: h,
18483                i: p,
18484                j: f,
18485                w: g,
18486              });
18487              return (
18488                this.barHelpers.barBackground({
18489                  j: f,
18490                  i: p,
18491                  y1: u,
18492                  y2: a,
18493                  elSeries: d,
18494                }),
18495                (n += c),
18496                {
18497                  pathTo: y.pathTo,
18498                  pathFrom: y.pathFrom,
18499                  goalX: this.barHelpers.getGoalValues("x", r, null, p, f),
18500                  barYPosition: u,
18501                  x: o,
18502                  y: n,
18503                }
18504              );
18505            },
18506          },
18507          {
18508            key: "drawStackedColumnPaths",
18509            value: function (t) {
18510              var e = t.indexes,
18511                i = t.x,
18512                a = t.y,
18513                s = t.xDivision,
18514                r = t.barWidth,
18515                o = t.zeroH,
18516                n = t.groupIndex,
18517                l = t.seriesGroup,
18518                h = t.elSeries,
18519                c = this.w,
18520                d = e.i,
18521                g = e.j,
18522                u = e.bc;
18523              if (c.globals.isXNumeric) {
18524                var p = c.globals.seriesX[d][g];
18525                p || (p = 0),
18526                  (i = (p - c.globals.minX) / this.xRatio - r / 2),
18527                  c.globals.seriesGroups.length &&
18528                    (i =
18529                      (p - c.globals.minX) / this.xRatio -
18530                      (r / 2) * c.globals.seriesGroups.length);
18531              }
18532              for (
18533                var f, x = i + (-1 !== n ? n * r : 0), b = 0, v = 0;
18534                v < this.groupCtx.prevYF.length;
18535                v++
18536              )
18537                b += isNaN(this.groupCtx.prevYF[v][g])
18538                  ? 0
18539                  : this.groupCtx.prevYF[v][g];
18540              var m = d;
18541              if (
18542                (l && (m = l.indexOf(c.config.series[d].name)),
18543                (m > 0 && !c.globals.isXNumeric) ||
18544                  (m > 0 &&
18545                    c.globals.isXNumeric &&
18546                    c.globals.seriesX[d - 1][g] === c.globals.seriesX[d][g]))
18547              ) {
18548                var y,
18549                  w,
18550                  k,
18551                  A = Math.min(this.yRatio.length + 1, d + 1);
18552                if (
18553                  void 0 !== this.groupCtx.prevY[m - 1] &&
18554                  this.groupCtx.prevY[m - 1].length
18555                )
18556                  for (var S = 1; S < A; S++) {
18557                    var C;
18558                    if (
18559                      !isNaN(
18560                        null === (C = this.groupCtx.prevY[m - S]) ||
18561                          void 0 === C
18562                          ? void 0
18563                          : C[g]
18564                      )
18565                    ) {
18566                      k = this.groupCtx.prevY[m - S][g];
18567                      break;
18568                    }
18569                  }
18570                for (var L = 1; L < A; L++) {
18571                  var P, I;
18572                  if (
18573                    (null === (P = this.groupCtx.prevYVal[m - L]) ||
18574                    void 0 === P
18575                      ? void 0
18576                      : P[g]) < 0
18577                  ) {
18578                    w =
18579                      this.series[d][g] >= 0
18580                        ? k - b + 2 * (this.isReversed ? b : 0)
18581                        : k;
18582                    break;
18583                  }
18584                  if (
18585                    (null === (I = this.groupCtx.prevYVal[m - L]) ||
18586                    void 0 === I
18587                      ? void 0
18588                      : I[g]) >= 0
18589                  ) {
18590                    w =
18591                      this.series[d][g] >= 0
18592                        ? k
18593                        : k + b - 2 * (this.isReversed ? b : 0);
18594                    break;
18595                  }
18596                }
18597                void 0 === w && (w = c.globals.gridHeight),
18598                  (f =
18599                    null !== (y = this.groupCtx.prevYF[0]) &&
18600                    void 0 !== y &&
18601                    y.every(function (t) {
18602                      return 0 === t;
18603                    }) &&
18604                    this.groupCtx.prevYF.slice(1, m).every(function (t) {
18605                      return t.every(function (t) {
18606                        return isNaN(t);
18607                      });
18608                    })
18609                      ? o
18610                      : w);
18611              } else f = o;
18612              a = this.series[d][g]
18613                ? f -
18614                  this.series[d][g] / this.yRatio[this.yaxisIndex] +
18615                  2 *
18616                    (this.isReversed
18617                      ? this.series[d][g] / this.yRatio[this.yaxisIndex]
18618                      : 0)
18619                : f;
18620              var M = this.barHelpers.getColumnPaths({
18621                barXPosition: x,
18622                barWidth: r,
18623                y1: f,
18624                y2: a,
18625                yRatio: this.yRatio[this.yaxisIndex],
18626                strokeWidth: this.strokeWidth,
18627                series: this.series,
18628                seriesGroup: l,
18629                realIndex: e.realIndex,
18630                i: d,
18631                j: g,
18632                w: c,
18633              });
18634              return (
18635                this.barHelpers.barBackground({
18636                  bc: u,
18637                  j: g,
18638                  i: d,
18639                  x1: x,
18640                  x2: r,
18641                  elSeries: h,
18642                }),
18643                (i += s),
18644                {
18645                  pathTo: M.pathTo,
18646                  pathFrom: M.pathFrom,
18647                  goalY: this.barHelpers.getGoalValues("y", null, o, d, g),
18648                  barXPosition: x,
18649                  x: c.globals.isXNumeric ? i - s : i,
18650                  y: a,
18651                }
18652              );
18653            },
18654          },
18655        ]),
18656        s
18657      );
18658    })(yt),
18659    kt = (function (t) {
18660      n(s, t);
18661      var i = d(s);
18662      function s() {
18663        return a(this, s), i.apply(this, arguments);
18664      }
18665      return (
18666        r(s, [
18667          {
18668            key: "draw",
18669            value: function (t, i, a) {
18670              var s = this,
18671                r = this.w,
18672                o = new m(this.ctx),
18673                n = r.globals.comboCharts ? i : r.config.chart.type,
18674                l = new R(this.ctx);
18675              (this.candlestickOptions = this.w.config.plotOptions.candlestick),
18676                (this.boxOptions = this.w.config.plotOptions.boxPlot),
18677                (this.isHorizontal = r.config.plotOptions.bar.horizontal);
18678              var h = new y(this.ctx, r);
18679              (t = h.getLogSeries(t)),
18680                (this.series = t),
18681                (this.yRatio = h.getLogYRatios(this.yRatio)),
18682                this.barHelpers.initVariables(t);
18683              for (
18684                var c = o.group({
18685                    class: "apexcharts-".concat(
18686                      n,
18687                      "-series apexcharts-plot-series"
18688                    ),
18689                  }),
18690                  d = function (i) {
18691                    s.isBoxPlot =
18692                      "boxPlot" === r.config.chart.type ||
18693                      "boxPlot" === r.config.series[i].type;
18694                    var n,
18695                      h,
18696                      d,
18697                      g,
18698                      u = void 0,
18699                      p = void 0,
18700                      f = [],
18701                      b = [],
18702                      v = r.globals.comboCharts ? a[i] : i,
18703                      m = o.group({
18704                        class: "apexcharts-series",
18705                        seriesName: x.escapeString(r.globals.seriesNames[v]),
18706                        rel: i + 1,
18707                        "data:realIndex": v,
18708                      });
18709                    s.ctx.series.addCollapsedClassToSeries(m, v),
18710                      t[i].length > 0 && (s.visibleI = s.visibleI + 1);
18711                    var y, w;
18712                    s.yRatio.length > 1 && (s.yaxisIndex = v);
18713                    var k = s.barHelpers.initialPositions();
18714                    (p = k.y),
18715                      (y = k.barHeight),
18716                      (h = k.yDivision),
18717                      (g = k.zeroW),
18718                      (u = k.x),
18719                      (w = k.barWidth),
18720                      (n = k.xDivision),
18721                      (d = k.zeroH),
18722                      b.push(u + w / 2);
18723                    for (
18724                      var A = o.group({
18725                          class: "apexcharts-datalabels",
18726                          "data:realIndex": v,
18727                        }),
18728                        S = function (a) {
18729                          var o = s.barHelpers.getStrokeWidth(i, a, v),
18730                            c = null,
18731                            x = {
18732                              indexes: { i: i, j: a, realIndex: v },
18733                              x: u,
18734                              y: p,
18735                              strokeWidth: o,
18736                              elSeries: m,
18737                            };
18738                          (c = s.isHorizontal
18739                            ? s.drawHorizontalBoxPaths(
18740                                e(
18741                                  e({}, x),
18742                                  {},
18743                                  { yDivision: h, barHeight: y, zeroW: g }
18744                                )
18745                              )
18746                            : s.drawVerticalBoxPaths(
18747                                e(
18748                                  e({}, x),
18749                                  {},
18750                                  { xDivision: n, barWidth: w, zeroH: d }
18751                                )
18752                              )),
18753                            (p = c.y),
18754                            (u = c.x),
18755                            a > 0 && b.push(u + w / 2),
18756                            f.push(p),
18757                            c.pathTo.forEach(function (e, n) {
18758                              var h =
18759                                  !s.isBoxPlot &&
18760                                  s.candlestickOptions.wick.useFillColor
18761                                    ? c.color[n]
18762                                    : r.globals.stroke.colors[i],
18763                                d = l.fillPath({
18764                                  seriesNumber: v,
18765                                  dataPointIndex: a,
18766                                  color: c.color[n],
18767                                  value: t[i][a],
18768                                });
18769                              s.renderSeries({
18770                                realIndex: v,
18771                                pathFill: d,
18772                                lineFill: h,
18773                                j: a,
18774                                i: i,
18775                                pathFrom: c.pathFrom,
18776                                pathTo: e,
18777                                strokeWidth: o,
18778                                elSeries: m,
18779                                x: u,
18780                                y: p,
18781                                series: t,
18782                                barHeight: y,
18783                                barWidth: w,
18784                                elDataLabelsWrap: A,
18785                                visibleSeries: s.visibleI,
18786                                type: r.config.chart.type,
18787                              });
18788                            });
18789                        },
18790                        C = 0;
18791                      C < r.globals.dataPoints;
18792                      C++
18793                    )
18794                      S(C);
18795                    (r.globals.seriesXvalues[v] = b),
18796                      (r.globals.seriesYvalues[v] = f),
18797                      c.add(m);
18798                  },
18799                  g = 0;
18800                g < t.length;
18801                g++
18802              )
18803                d(g);
18804              return c;
18805            },
18806          },
18807          {
18808            key: "drawVerticalBoxPaths",
18809            value: function (t) {
18810              var e = t.indexes,
18811                i = t.x;
18812              t.y;
18813              var a = t.xDivision,
18814                s = t.barWidth,
18815                r = t.zeroH,
18816                o = t.strokeWidth,
18817                n = this.w,
18818                l = new m(this.ctx),
18819                h = e.i,
18820                c = e.j,
18821                d = !0,
18822                g = n.config.plotOptions.candlestick.colors.upward,
18823                u = n.config.plotOptions.candlestick.colors.downward,
18824                p = "";
18825              this.isBoxPlot &&
18826                (p = [
18827                  this.boxOptions.colors.lower,
18828                  this.boxOptions.colors.upper,
18829                ]);
18830              var f = this.yRatio[this.yaxisIndex],
18831                x = e.realIndex,
18832                b = this.getOHLCValue(x, c),
18833                v = r,
18834                y = r;
18835              b.o > b.c && (d = !1);
18836              var w = Math.min(b.o, b.c),
18837                k = Math.max(b.o, b.c),
18838                A = b.m;
18839              n.globals.isXNumeric &&
18840                (i =
18841                  (n.globals.seriesX[x][c] - n.globals.minX) / this.xRatio -
18842                  s / 2);
18843              var S = i + s * this.visibleI;
18844              void 0 === this.series[h][c] || null === this.series[h][c]
18845                ? ((w = r), (k = r))
18846                : ((w = r - w / f),
18847                  (k = r - k / f),
18848                  (v = r - b.h / f),
18849                  (y = r - b.l / f),
18850                  (A = r - b.m / f));
18851              var C = l.move(S, r),
18852                L = l.move(S + s / 2, w);
18853              return (
18854                n.globals.previousPaths.length > 0 &&
18855                  (L = this.getPreviousPath(x, c, !0)),
18856                (C = this.isBoxPlot
18857                  ? [
18858                      l.move(S, w) +
18859                        l.line(S + s / 2, w) +
18860                        l.line(S + s / 2, v) +
18861                        l.line(S + s / 4, v) +
18862                        l.line(S + s - s / 4, v) +
18863                        l.line(S + s / 2, v) +
18864                        l.line(S + s / 2, w) +
18865                        l.line(S + s, w) +
18866                        l.line(S + s, A) +
18867                        l.line(S, A) +
18868                        l.line(S, w + o / 2),
18869                      l.move(S, A) +
18870                        l.line(S + s, A) +
18871                        l.line(S + s, k) +
18872                        l.line(S + s / 2, k) +
18873                        l.line(S + s / 2, y) +
18874                        l.line(S + s - s / 4, y) +
18875                        l.line(S + s / 4, y) +
18876                        l.line(S + s / 2, y) +
18877                        l.line(S + s / 2, k) +
18878                        l.line(S, k) +
18879                        l.line(S, A) +
18880                        "z",
18881                    ]
18882                  : [
18883                      l.move(S, k) +
18884                        l.line(S + s / 2, k) +
18885                        l.line(S + s / 2, v) +
18886                        l.line(S + s / 2, k) +
18887                        l.line(S + s, k) +
18888                        l.line(S + s, w) +
18889                        l.line(S + s / 2, w) +
18890                        l.line(S + s / 2, y) +
18891                        l.line(S + s / 2, w) +
18892                        l.line(S, w) +
18893                        l.line(S, k - o / 2),
18894                    ]),
18895                (L += l.move(S, w)),
18896                n.globals.isXNumeric || (i += a),
18897                {
18898                  pathTo: C,
18899                  pathFrom: L,
18900                  x: i,
18901                  y: k,
18902                  barXPosition: S,
18903                  color: this.isBoxPlot ? p : d ? [g] : [u],
18904                }
18905              );
18906            },
18907          },
18908          {
18909            key: "drawHorizontalBoxPaths",
18910            value: function (t) {
18911              var e = t.indexes;
18912              t.x;
18913              var i = t.y,
18914                a = t.yDivision,
18915                s = t.barHeight,
18916                r = t.zeroW,
18917                o = t.strokeWidth,
18918                n = this.w,
18919                l = new m(this.ctx),
18920                h = e.i,
18921                c = e.j,
18922                d = this.boxOptions.colors.lower;
18923              this.isBoxPlot &&
18924                (d = [
18925                  this.boxOptions.colors.lower,
18926                  this.boxOptions.colors.upper,
18927                ]);
18928              var g = this.invertedYRatio,
18929                u = e.realIndex,
18930                p = this.getOHLCValue(u, c),
18931                f = r,
18932                x = r,
18933                b = Math.min(p.o, p.c),
18934                v = Math.max(p.o, p.c),
18935                y = p.m;
18936              n.globals.isXNumeric &&
18937                (i =
18938                  (n.globals.seriesX[u][c] - n.globals.minX) /
18939                    this.invertedXRatio -
18940                  s / 2);
18941              var w = i + s * this.visibleI;
18942              void 0 === this.series[h][c] || null === this.series[h][c]
18943                ? ((b = r), (v = r))
18944                : ((b = r + b / g),
18945                  (v = r + v / g),
18946                  (f = r + p.h / g),
18947                  (x = r + p.l / g),
18948                  (y = r + p.m / g));
18949              var k = l.move(r, w),
18950                A = l.move(b, w + s / 2);
18951              return (
18952                n.globals.previousPaths.length > 0 &&
18953                  (A = this.getPreviousPath(u, c, !0)),
18954                (k = [
18955                  l.move(b, w) +
18956                    l.line(b, w + s / 2) +
18957                    l.line(f, w + s / 2) +
18958                    l.line(f, w + s / 2 - s / 4) +
18959                    l.line(f, w + s / 2 + s / 4) +
18960                    l.line(f, w + s / 2) +
18961                    l.line(b, w + s / 2) +
18962                    l.line(b, w + s) +
18963                    l.line(y, w + s) +
18964                    l.line(y, w) +
18965                    l.line(b + o / 2, w),
18966                  l.move(y, w) +
18967                    l.line(y, w + s) +
18968                    l.line(v, w + s) +
18969                    l.line(v, w + s / 2) +
18970                    l.line(x, w + s / 2) +
18971                    l.line(x, w + s - s / 4) +
18972                    l.line(x, w + s / 4) +
18973                    l.line(x, w + s / 2) +
18974                    l.line(v, w + s / 2) +
18975                    l.line(v, w) +
18976                    l.line(y, w) +
18977                    "z",
18978                ]),
18979                (A += l.move(b, w)),
18980                n.globals.isXNumeric || (i += a),
18981                {
18982                  pathTo: k,
18983                  pathFrom: A,
18984                  x: v,
18985                  y: i,
18986                  barYPosition: w,
18987                  color: d,
18988                }
18989              );
18990            },
18991          },
18992          {
18993            key: "getOHLCValue",
18994            value: function (t, e) {
18995              var i = this.w;
18996              return {
18997                o: this.isBoxPlot
18998                  ? i.globals.seriesCandleH[t][e]
18999                  : i.globals.seriesCandleO[t][e],
19000                h: this.isBoxPlot
19001                  ? i.globals.seriesCandleO[t][e]
19002                  : i.globals.seriesCandleH[t][e],
19003                m: i.globals.seriesCandleM[t][e],
19004                l: this.isBoxPlot
19005                  ? i.globals.seriesCandleC[t][e]
19006                  : i.globals.seriesCandleL[t][e],
19007                c: this.isBoxPlot
19008                  ? i.globals.seriesCandleL[t][e]
19009                  : i.globals.seriesCandleC[t][e],
19010              };
19011            },
19012          },
19013        ]),
19014        s
19015      );
19016    })(yt),
19017    At = (function () {
19018      function t(e) {
19019        a(this, t), (this.ctx = e), (this.w = e.w);
19020      }
19021      return (
19022        r(t, [
19023          {
19024            key: "checkColorRange",
19025            value: function () {
19026              var t = this.w,
19027                e = !1,
19028                i = t.config.plotOptions[t.config.chart.type];
19029              return (
19030                i.colorScale.ranges.length > 0 &&
19031                  i.colorScale.ranges.map(function (t, i) {
19032                    t.from <= 0 && (e = !0);
19033                  }),
19034                e
19035              );
19036            },
19037          },
19038          {
19039            key: "getShadeColor",
19040            value: function (t, e, i, a) {
19041              var s = this.w,
19042                r = 1,
19043                o = s.config.plotOptions[t].shadeIntensity,
19044                n = this.determineColor(t, e, i);
19045              s.globals.hasNegs || a
19046                ? (r = s.config.plotOptions[t].reverseNegativeShade
19047                    ? n.percent < 0
19048                      ? (n.percent / 100) * (1.25 * o)
19049                      : (1 - n.percent / 100) * (1.25 * o)
19050                    : n.percent <= 0
19051                    ? 1 - (1 + n.percent / 100) * o
19052                    : (1 - n.percent / 100) * o)
19053                : ((r = 1 - n.percent / 100),
19054                  "treemap" === t && (r = (1 - n.percent / 100) * (1.25 * o)));
19055              var l = n.color,
19056                h = new x();
19057              return (
19058                s.config.plotOptions[t].enableShades &&
19059                  (l =
19060                    "dark" === this.w.config.theme.mode
19061                      ? x.hexToRgba(
19062                          h.shadeColor(-1 * r, n.color),
19063                          s.config.fill.opacity
19064                        )
19065                      : x.hexToRgba(
19066                          h.shadeColor(r, n.color),
19067                          s.config.fill.opacity
19068                        )),
19069                { color: l, colorProps: n }
19070              );
19071            },
19072          },
19073          {
19074            key: "determineColor",
19075            value: function (t, e, i) {
19076              var a = this.w,
19077                s = a.globals.series[e][i],
19078                r = a.config.plotOptions[t],
19079                o = r.colorScale.inverse ? i : e;
19080              r.distributed && "treemap" === a.config.chart.type && (o = i);
19081              var n = a.globals.colors[o],
19082                l = null,
19083                h = Math.min.apply(Math, u(a.globals.series[e])),
19084                c = Math.max.apply(Math, u(a.globals.series[e]));
19085              r.distributed ||
19086                "heatmap" !== t ||
19087                ((h = a.globals.minY), (c = a.globals.maxY)),
19088                void 0 !== r.colorScale.min &&
19089                  ((h =
19090                    r.colorScale.min < a.globals.minY
19091                      ? r.colorScale.min
19092                      : a.globals.minY),
19093                  (c =
19094                    r.colorScale.max > a.globals.maxY
19095                      ? r.colorScale.max
19096                      : a.globals.maxY));
19097              var d = Math.abs(c) + Math.abs(h),
19098                g = (100 * s) / (0 === d ? d - 1e-6 : d);
19099              r.colorScale.ranges.length > 0 &&
19100                r.colorScale.ranges.map(function (t, e) {
19101                  if (s >= t.from && s <= t.to) {
19102                    (n = t.color),
19103                      (l = t.foreColor ? t.foreColor : null),
19104                      (h = t.from),
19105                      (c = t.to);
19106                    var i = Math.abs(c) + Math.abs(h);
19107                    g = (100 * s) / (0 === i ? i - 1e-6 : i);
19108                  }
19109                });
19110              return { color: n, foreColor: l, percent: g };
19111            },
19112          },
19113          {
19114            key: "calculateDataLabels",
19115            value: function (t) {
19116              var e = t.text,
19117                i = t.x,
19118                a = t.y,
19119                s = t.i,
19120                r = t.j,
19121                o = t.colorProps,
19122                n = t.fontSize,
19123                l = this.w.config.dataLabels,
19124                h = new m(this.ctx),
19125                c = new O(this.ctx),
19126                d = null;
19127              if (l.enabled) {
19128                d = h.group({ class: "apexcharts-data-labels" });
19129                var g = l.offsetX,
19130                  u = l.offsetY,
19131                  p = i + g,
19132                  f = a + parseFloat(l.style.fontSize) / 3 + u;
19133                c.plotDataLabelsText({
19134                  x: p,
19135                  y: f,
19136                  text: e,
19137                  i: s,
19138                  j: r,
19139                  color: o.foreColor,
19140                  parent: d,
19141                  fontSize: n,
19142                  dataLabelsConfig: l,
19143                });
19144              }
19145              return d;
19146            },
19147          },
19148          {
19149            key: "addListeners",
19150            value: function (t) {
19151              var e = new m(this.ctx);
19152              t.node.addEventListener(
19153                "mouseenter",
19154                e.pathMouseEnter.bind(this, t)
19155              ),
19156                t.node.addEventListener(
19157                  "mouseleave",
19158                  e.pathMouseLeave.bind(this, t)
19159                ),
19160                t.node.addEventListener(
19161                  "mousedown",
19162                  e.pathMouseDown.bind(this, t)
19163                );
19164            },
19165          },
19166        ]),
19167        t
19168      );
19169    })(),
19170    St = (function () {
19171      function t(e, i) {
19172        a(this, t),
19173          (this.ctx = e),
19174          (this.w = e.w),
19175          (this.xRatio = i.xRatio),
19176          (this.yRatio = i.yRatio),
19177          (this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation),
19178          (this.helpers = new At(e)),
19179          (this.rectRadius = this.w.config.plotOptions.heatmap.radius),
19180          (this.strokeWidth = this.w.config.stroke.show
19181            ? this.w.config.stroke.width
19182            : 0);
19183      }
19184      return (
19185        r(t, [
19186          {
19187            key: "draw",
19188            value: function (t) {
19189              var e = this.w,
19190                i = new m(this.ctx),
19191                a = i.group({ class: "apexcharts-heatmap" });
19192              a.attr(
19193                "clip-path",
19194                "url(#gridRectMask".concat(e.globals.cuid, ")")
19195              );
19196              var s = e.globals.gridWidth / e.globals.dataPoints,
19197                r = e.globals.gridHeight / e.globals.series.length,
19198                o = 0,
19199                n = !1;
19200              this.negRange = this.helpers.checkColorRange();
19201              var l = t.slice();
19202              e.config.yaxis[0].reversed && ((n = !0), l.reverse());
19203              for (
19204                var h = n ? 0 : l.length - 1;
19205                n ? h < l.length : h >= 0;
19206                n ? h++ : h--
19207              ) {
19208                var c = i.group({
19209                  class: "apexcharts-series apexcharts-heatmap-series",
19210                  seriesName: x.escapeString(e.globals.seriesNames[h]),
19211                  rel: h + 1,
19212                  "data:realIndex": h,
19213                });
19214                if (
19215                  (this.ctx.series.addCollapsedClassToSeries(c, h),
19216                  e.config.chart.dropShadow.enabled)
19217                ) {
19218                  var d = e.config.chart.dropShadow;
19219                  new v(this.ctx).dropShadow(c, d, h);
19220                }
19221                for (
19222                  var g = 0,
19223                    u = e.config.plotOptions.heatmap.shadeIntensity,
19224                    p = 0;
19225                  p < l[h].length;
19226                  p++
19227                ) {
19228                  var f = this.helpers.getShadeColor(
19229                      e.config.chart.type,
19230                      h,
19231                      p,
19232                      this.negRange
19233                    ),
19234                    b = f.color,
19235                    y = f.colorProps;
19236                  if ("image" === e.config.fill.type)
19237                    b = new R(this.ctx).fillPath({
19238                      seriesNumber: h,
19239                      dataPointIndex: p,
19240                      opacity: e.globals.hasNegs
19241                        ? y.percent < 0
19242                          ? 1 - (1 + y.percent / 100)
19243                          : u + y.percent / 100
19244                        : y.percent / 100,
19245                      patternID: x.randomId(),
19246                      width: e.config.fill.image.width
19247                        ? e.config.fill.image.width
19248                        : s,
19249                      height: e.config.fill.image.height
19250                        ? e.config.fill.image.height
19251                        : r,
19252                    });
19253                  var w = this.rectRadius,
19254                    k = i.drawRect(g, o, s, r, w);
19255                  if (
19256                    (k.attr({ cx: g, cy: o }),
19257                    k.node.classList.add("apexcharts-heatmap-rect"),
19258                    c.add(k),
19259                    k.attr({
19260                      fill: b,
19261                      i: h,
19262                      index: h,
19263                      j: p,
19264                      val: t[h][p],
19265                      "stroke-width": this.strokeWidth,
19266                      stroke: e.config.plotOptions.heatmap.useFillColorAsStroke
19267                        ? b
19268                        : e.globals.stroke.colors[0],
19269                      color: b,
19270                    }),
19271                    this.helpers.addListeners(k),
19272                    e.config.chart.animations.enabled && !e.globals.dataChanged)
19273                  ) {
19274                    var A = 1;
19275                    e.globals.resized || (A = e.config.chart.animations.speed),
19276                      this.animateHeatMap(k, g, o, s, r, A);
19277                  }
19278                  if (e.globals.dataChanged) {
19279                    var S = 1;
19280                    if (this.dynamicAnim.enabled && e.globals.shouldAnimate) {
19281                      S = this.dynamicAnim.speed;
19282                      var C =
19283                        e.globals.previousPaths[h] &&
19284                        e.globals.previousPaths[h][p] &&
19285                        e.globals.previousPaths[h][p].color;
19286                      C || (C = "rgba(255, 255, 255, 0)"),
19287                        this.animateHeatColor(
19288                          k,
19289                          x.isColorHex(C) ? C : x.rgb2hex(C),
19290                          x.isColorHex(b) ? b : x.rgb2hex(b),
19291                          S
19292                        );
19293                    }
19294                  }
19295                  var L = (0, e.config.dataLabels.formatter)(
19296                      e.globals.series[h][p],
19297                      {
19298                        value: e.globals.series[h][p],
19299                        seriesIndex: h,
19300                        dataPointIndex: p,
19301                        w: e,
19302                      }
19303                    ),
19304                    P = this.helpers.calculateDataLabels({
19305                      text: L,
19306                      x: g + s / 2,
19307                      y: o + r / 2,
19308                      i: h,
19309                      j: p,
19310                      colorProps: y,
19311                      series: l,
19312                    });
19313                  null !== P && c.add(P), (g += s);
19314                }
19315                (o += r), a.add(c);
19316              }
19317              var I = e.globals.yAxisScale[0].result.slice();
19318              return (
19319                e.config.yaxis[0].reversed ? I.unshift("") : I.push(""),
19320                (e.globals.yAxisScale[0].result = I),
19321                a
19322              );
19323            },
19324          },
19325          {
19326            key: "animateHeatMap",
19327            value: function (t, e, i, a, s, r) {
19328              var o = new b(this.ctx);
19329              o.animateRect(
19330                t,
19331                { x: e + a / 2, y: i + s / 2, width: 0, height: 0 },
19332                { x: e, y: i, width: a, height: s },
19333                r,
19334                function () {
19335                  o.animationCompleted(t);
19336                }
19337              );
19338            },
19339          },
19340          {
19341            key: "animateHeatColor",
19342            value: function (t, e, i, a) {
19343              t.attr({ fill: e }).animate(a).attr({ fill: i });
19344            },
19345          },
19346        ]),
19347        t
19348      );
19349    })(),
19350    Ct = (function () {
19351      function t(e) {
19352        a(this, t), (this.ctx = e), (this.w = e.w);
19353      }
19354      return (
19355        r(t, [
19356          {
19357            key: "drawYAxisTexts",
19358            value: function (t, e, i, a) {
19359              var s = this.w,
19360                r = s.config.yaxis[0],
19361                o = s.globals.yLabelFormatters[0];
19362              return new m(this.ctx).drawText({
19363                x: t + r.labels.offsetX,
19364                y: e + r.labels.offsetY,
19365                text: o(a, i),
19366                textAnchor: "middle",
19367                fontSize: r.labels.style.fontSize,
19368                fontFamily: r.labels.style.fontFamily,
19369                foreColor: Array.isArray(r.labels.style.colors)
19370                  ? r.labels.style.colors[i]
19371                  : r.labels.style.colors,
19372              });
19373            },
19374          },
19375        ]),
19376        t
19377      );
19378    })(),
19379    Lt = (function () {
19380      function t(e) {
19381        a(this, t), (this.ctx = e), (this.w = e.w);
19382        var i = this.w;
19383        (this.chartType = this.w.config.chart.type),
19384          (this.initialAnim = this.w.config.chart.animations.enabled),
19385          (this.dynamicAnim =
19386            this.initialAnim &&
19387            this.w.config.chart.animations.dynamicAnimation.enabled),
19388          (this.animBeginArr = [0]),
19389          (this.animDur = 0),
19390          (this.donutDataLabels = this.w.config.plotOptions.pie.donut.labels),
19391          (this.lineColorArr =
19392            void 0 !== i.globals.stroke.colors
19393              ? i.globals.stroke.colors
19394              : i.globals.colors),
19395          (this.defaultSize = Math.min(
19396            i.globals.gridWidth,
19397            i.globals.gridHeight
19398          )),
19399          (this.centerY = this.defaultSize / 2),
19400          (this.centerX = i.globals.gridWidth / 2),
19401          "radialBar" === i.config.chart.type
19402            ? (this.fullAngle = 360)
19403            : (this.fullAngle = Math.abs(
19404                i.config.plotOptions.pie.endAngle -
19405                  i.config.plotOptions.pie.startAngle
19406              )),
19407          (this.initialAngle =
19408            i.config.plotOptions.pie.startAngle % this.fullAngle),
19409          (i.globals.radialSize =
19410            this.defaultSize / 2.05 -
19411            i.config.stroke.width -
19412            (i.config.chart.sparkline.enabled
19413              ? 0
19414              : i.config.chart.dropShadow.blur)),
19415          (this.donutSize =
19416            (i.globals.radialSize *
19417              parseInt(i.config.plotOptions.pie.donut.size, 10)) /
19418            100),
19419          (this.maxY = 0),
19420          (this.sliceLabels = []),
19421          (this.sliceSizes = []),
19422          (this.prevSectorAngleArr = []);
19423      }
19424      return (
19425        r(t, [
19426          {
19427            key: "draw",
19428            value: function (t) {
19429              var e = this,
19430                i = this.w,
19431                a = new m(this.ctx);
19432              if (
19433                ((this.ret = a.group({ class: "apexcharts-pie" })),
19434                i.globals.noData)
19435              )
19436                return this.ret;
19437              for (var s = 0, r = 0; r < t.length; r++) s += x.negToZero(t[r]);
19438              var o = [],
19439                n = a.group();
19440              0 === s && (s = 1e-5),
19441                t.forEach(function (t) {
19442                  e.maxY = Math.max(e.maxY, t);
19443                }),
19444                i.config.yaxis[0].max && (this.maxY = i.config.yaxis[0].max),
19445                "back" === i.config.grid.position &&
19446                  "polarArea" === this.chartType &&
19447                  this.drawPolarElements(this.ret);
19448              for (var l = 0; l < t.length; l++) {
19449                var h = (this.fullAngle * x.negToZero(t[l])) / s;
19450                o.push(h),
19451                  "polarArea" === this.chartType
19452                    ? ((o[l] = this.fullAngle / t.length),
19453                      this.sliceSizes.push(
19454                        (i.globals.radialSize * t[l]) / this.maxY
19455                      ))
19456                    : this.sliceSizes.push(i.globals.radialSize);
19457              }
19458              if (i.globals.dataChanged) {
19459                for (
19460                  var c, d = 0, g = 0;
19461                  g < i.globals.previousPaths.length;
19462                  g++
19463                )
19464                  d += x.negToZero(i.globals.previousPaths[g]);
19465                for (var u = 0; u < i.globals.previousPaths.length; u++)
19466                  (c =
19467                    (this.fullAngle * x.negToZero(i.globals.previousPaths[u])) /
19468                    d),
19469                    this.prevSectorAngleArr.push(c);
19470              }
19471              this.donutSize < 0 && (this.donutSize = 0);
19472              var p = i.config.plotOptions.pie.customScale,
19473                f = i.globals.gridWidth / 2,
19474                b = i.globals.gridHeight / 2,
19475                v = f - (i.globals.gridWidth / 2) * p,
19476                y = b - (i.globals.gridHeight / 2) * p;
19477              if ("donut" === this.chartType) {
19478                var w = a.drawCircle(this.donutSize);
19479                w.attr({
19480                  cx: this.centerX,
19481                  cy: this.centerY,
19482                  fill: i.config.plotOptions.pie.donut.background
19483                    ? i.config.plotOptions.pie.donut.background
19484                    : "transparent",
19485                }),
19486                  n.add(w);
19487              }
19488              var k = this.drawArcs(o, t);
19489              if (
19490                (this.sliceLabels.forEach(function (t) {
19491                  k.add(t);
19492                }),
19493                n.attr({
19494                  transform: "translate("
19495                    .concat(v, ", ")
19496                    .concat(y, ") scale(")
19497                    .concat(p, ")"),
19498                }),
19499                n.add(k),
19500                this.ret.add(n),
19501                this.donutDataLabels.show)
19502              ) {
19503                var A = this.renderInnerDataLabels(this.donutDataLabels, {
19504                  hollowSize: this.donutSize,
19505                  centerX: this.centerX,
19506                  centerY: this.centerY,
19507                  opacity: this.donutDataLabels.show,
19508                  translateX: v,
19509                  translateY: y,
19510                });
19511                this.ret.add(A);
19512              }
19513              return (
19514                "front" === i.config.grid.position &&
19515                  "polarArea" === this.chartType &&
19516                  this.drawPolarElements(this.ret),
19517                this.ret
19518              );
19519            },
19520          },
19521          {
19522            key: "drawArcs",
19523            value: function (t, e) {
19524              var i = this.w,
19525                a = new v(this.ctx),
19526                s = new m(this.ctx),
19527                r = new R(this.ctx),
19528                o = s.group({ class: "apexcharts-slices" }),
19529                n = this.initialAngle,
19530                l = this.initialAngle,
19531                h = this.initialAngle,
19532                c = this.initialAngle;
19533              this.strokeWidth = i.config.stroke.show
19534                ? i.config.stroke.width
19535                : 0;
19536              for (var d = 0; d < t.length; d++) {
19537                var g = s.group({
19538                  class: "apexcharts-series apexcharts-pie-series",
19539                  seriesName: x.escapeString(i.globals.seriesNames[d]),
19540                  rel: d + 1,
19541                  "data:realIndex": d,
19542                });
19543                o.add(g),
19544                  (l = c),
19545                  (h = (n = h) + t[d]),
19546                  (c = l + this.prevSectorAngleArr[d]);
19547                var u = h < n ? this.fullAngle + h - n : h - n,
19548                  p = r.fillPath({
19549                    seriesNumber: d,
19550                    size: this.sliceSizes[d],
19551                    value: e[d],
19552                  }),
19553                  f = this.getChangedPath(l, c),
19554                  b = s.drawPath({
19555                    d: f,
19556                    stroke: Array.isArray(this.lineColorArr)
19557                      ? this.lineColorArr[d]
19558                      : this.lineColorArr,
19559                    strokeWidth: 0,
19560                    fill: p,
19561                    fillOpacity: i.config.fill.opacity,
19562                    classes: "apexcharts-pie-area apexcharts-"
19563                      .concat(this.chartType.toLowerCase(), "-slice-")
19564                      .concat(d),
19565                  });
19566                if (
19567                  (b.attr({ index: 0, j: d }),
19568                  a.setSelectionFilter(b, 0, d),
19569                  i.config.chart.dropShadow.enabled)
19570                ) {
19571                  var y = i.config.chart.dropShadow;
19572                  a.dropShadow(b, y, d);
19573                }
19574                this.addListeners(b, this.donutDataLabels),
19575                  m.setAttrs(b.node, {
19576                    "data:angle": u,
19577                    "data:startAngle": n,
19578                    "data:strokeWidth": this.strokeWidth,
19579                    "data:value": e[d],
19580                  });
19581                var w = { x: 0, y: 0 };
19582                "pie" === this.chartType || "polarArea" === this.chartType
19583                  ? (w = x.polarToCartesian(
19584                      this.centerX,
19585                      this.centerY,
19586                      i.globals.radialSize / 1.25 +
19587                        i.config.plotOptions.pie.dataLabels.offset,
19588                      (n + u / 2) % this.fullAngle
19589                    ))
19590                  : "donut" === this.chartType &&
19591                    (w = x.polarToCartesian(
19592                      this.centerX,
19593                      this.centerY,
19594                      (i.globals.radialSize + this.donutSize) / 2 +
19595                        i.config.plotOptions.pie.dataLabels.offset,
19596                      (n + u / 2) % this.fullAngle
19597                    )),
19598                  g.add(b);
19599                var k = 0;
19600                if (
19601                  (!this.initialAnim ||
19602                  i.globals.resized ||
19603                  i.globals.dataChanged
19604                    ? this.animBeginArr.push(0)
19605                    : (0 ===
19606                        (k =
19607                          (u / this.fullAngle) *
19608                          i.config.chart.animations.speed) && (k = 1),
19609                      (this.animDur = k + this.animDur),
19610                      this.animBeginArr.push(this.animDur)),
19611                  this.dynamicAnim && i.globals.dataChanged
19612                    ? this.animatePaths(b, {
19613                        size: this.sliceSizes[d],
19614                        endAngle: h,
19615                        startAngle: n,
19616                        prevStartAngle: l,
19617                        prevEndAngle: c,
19618                        animateStartingPos: !0,
19619                        i: d,
19620                        animBeginArr: this.animBeginArr,
19621                        shouldSetPrevPaths: !0,
19622                        dur: i.config.chart.animations.dynamicAnimation.speed,
19623                      })
19624                    : this.animatePaths(b, {
19625                        size: this.sliceSizes[d],
19626                        endAngle: h,
19627                        startAngle: n,
19628                        i: d,
19629                        totalItems: t.length - 1,
19630                        animBeginArr: this.animBeginArr,
19631                        dur: k,
19632                      }),
19633                  i.config.plotOptions.pie.expandOnClick &&
19634                    "polarArea" !== this.chartType &&
19635                    b.click(this.pieClicked.bind(this, d)),
19636                  void 0 !== i.globals.selectedDataPoints[0] &&
19637                    i.globals.selectedDataPoints[0].indexOf(d) > -1 &&
19638                    this.pieClicked(d),
19639                  i.config.dataLabels.enabled)
19640                ) {
19641                  var A = w.x,
19642                    S = w.y,
19643                    C = (100 * u) / this.fullAngle + "%";
19644                  if (
19645                    0 !== u &&
19646                    i.config.plotOptions.pie.dataLabels.minAngleToShowLabel <
19647                      t[d]
19648                  ) {
19649                    var L = i.config.dataLabels.formatter;
19650                    void 0 !== L &&
19651                      (C = L(i.globals.seriesPercent[d][0], {
19652                        seriesIndex: d,
19653                        w: i,
19654                      }));
19655                    var P = i.globals.dataLabels.style.colors[d],
19656                      I = s.group({ class: "apexcharts-datalabels" }),
19657                      M = s.drawText({
19658                        x: A,
19659                        y: S,
19660                        text: C,
19661                        textAnchor: "middle",
19662                        fontSize: i.config.dataLabels.style.fontSize,
19663                        fontFamily: i.config.dataLabels.style.fontFamily,
19664                        fontWeight: i.config.dataLabels.style.fontWeight,
19665                        foreColor: P,
19666                      });
19667                    if ((I.add(M), i.config.dataLabels.dropShadow.enabled)) {
19668                      var T = i.config.dataLabels.dropShadow;
19669                      a.dropShadow(M, T);
19670                    }
19671                    M.node.classList.add("apexcharts-pie-label"),
19672                      i.config.chart.animations.animate &&
19673                        !1 === i.globals.resized &&
19674                        (M.node.classList.add("apexcharts-pie-label-delay"),
19675                        (M.node.style.animationDelay =
19676                          i.config.chart.animations.speed / 940 + "s")),
19677                      this.sliceLabels.push(I);
19678                  }
19679                }
19680              }
19681              return o;
19682            },
19683          },
19684          {
19685            key: "addListeners",
19686            value: function (t, e) {
19687              var i = new m(this.ctx);
19688              t.node.addEventListener(
19689                "mouseenter",
19690                i.pathMouseEnter.bind(this, t)
19691              ),
19692                t.node.addEventListener(
19693                  "mouseleave",
19694                  i.pathMouseLeave.bind(this, t)
19695                ),
19696                t.node.addEventListener(
19697                  "mouseleave",
19698                  this.revertDataLabelsInner.bind(this, t.node, e)
19699                ),
19700                t.node.addEventListener(
19701                  "mousedown",
19702                  i.pathMouseDown.bind(this, t)
19703                ),
19704                this.donutDataLabels.total.showAlways ||
19705                  (t.node.addEventListener(
19706                    "mouseenter",
19707                    this.printDataLabelsInner.bind(this, t.node, e)
19708                  ),
19709                  t.node.addEventListener(
19710                    "mousedown",
19711                    this.printDataLabelsInner.bind(this, t.node, e)
19712                  ));
19713            },
19714          },
19715          {
19716            key: "animatePaths",
19717            value: function (t, e) {
19718              var i = this.w,
19719                a =
19720                  e.endAngle < e.startAngle
19721                    ? this.fullAngle + e.endAngle - e.startAngle
19722                    : e.endAngle - e.startAngle,
19723                s = a,
19724                r = e.startAngle,
19725                o = e.startAngle;
19726              void 0 !== e.prevStartAngle &&
19727                void 0 !== e.prevEndAngle &&
19728                ((r = e.prevEndAngle),
19729                (s =
19730                  e.prevEndAngle < e.prevStartAngle
19731                    ? this.fullAngle + e.prevEndAngle - e.prevStartAngle
19732                    : e.prevEndAngle - e.prevStartAngle)),
19733                e.i === i.config.series.length - 1 &&
19734                  (a + o > this.fullAngle
19735                    ? (e.endAngle = e.endAngle - (a + o))
19736                    : a + o < this.fullAngle &&
19737                      (e.endAngle = e.endAngle + (this.fullAngle - (a + o)))),
19738                a === this.fullAngle && (a = this.fullAngle - 0.01),
19739                this.animateArc(t, r, o, a, s, e);
19740            },
19741          },
19742          {
19743            key: "animateArc",
19744            value: function (t, e, i, a, s, r) {
19745              var o,
19746                n = this,
19747                l = this.w,
19748                h = new b(this.ctx),
19749                c = r.size;
19750              (isNaN(e) || isNaN(s)) && ((e = i), (s = a), (r.dur = 0));
19751              var d = a,
19752                g = i,
19753                u = e < i ? this.fullAngle + e - i : e - i;
19754              l.globals.dataChanged &&
19755                r.shouldSetPrevPaths &&
19756                r.prevEndAngle &&
19757                ((o = n.getPiePath({
19758                  me: n,
19759                  startAngle: r.prevStartAngle,
19760                  angle:
19761                    r.prevEndAngle < r.prevStartAngle
19762                      ? this.fullAngle + r.prevEndAngle - r.prevStartAngle
19763                      : r.prevEndAngle - r.prevStartAngle,
19764                  size: c,
19765                })),
19766                t.attr({ d: o })),
19767                0 !== r.dur
19768                  ? t
19769                      .animate(r.dur, l.globals.easing, r.animBeginArr[r.i])
19770                      .afterAll(function () {
19771                        ("pie" !== n.chartType &&
19772                          "donut" !== n.chartType &&
19773                          "polarArea" !== n.chartType) ||
19774                          this.animate(
19775                            l.config.chart.animations.dynamicAnimation.speed
19776                          ).attr({ "stroke-width": n.strokeWidth }),
19777                          r.i === l.config.series.length - 1 &&
19778                            h.animationCompleted(t);
19779                      })
19780                      .during(function (l) {
19781                        (d = u + (a - u) * l),
19782                          r.animateStartingPos &&
19783                            ((d = s + (a - s) * l),
19784                            (g = e - s + (i - (e - s)) * l)),
19785                          (o = n.getPiePath({
19786                            me: n,
19787                            startAngle: g,
19788                            angle: d,
19789                            size: c,
19790                          })),
19791                          t.node.setAttribute("data:pathOrig", o),
19792                          t.attr({ d: o });
19793                      })
19794                  : ((o = n.getPiePath({
19795                      me: n,
19796                      startAngle: g,
19797                      angle: a,
19798                      size: c,
19799                    })),
19800                    r.isTrack || (l.globals.animationEnded = !0),
19801                    t.node.setAttribute("data:pathOrig", o),
19802                    t.attr({ d: o, "stroke-width": n.strokeWidth }));
19803            },
19804          },
19805          {
19806            key: "pieClicked",
19807            value: function (t) {
19808              var e,
19809                i = this.w,
19810                a = this,
19811                s =
19812                  a.sliceSizes[t] +
19813                  (i.config.plotOptions.pie.expandOnClick ? 4 : 0),
19814                r = i.globals.dom.Paper.select(
19815                  ".apexcharts-"
19816                    .concat(a.chartType.toLowerCase(), "-slice-")
19817                    .concat(t)
19818                ).members[0];
19819              if ("true" !== r.attr("data:pieClicked")) {
19820                var o = i.globals.dom.baseEl.getElementsByClassName(
19821                  "apexcharts-pie-area"
19822                );
19823                Array.prototype.forEach.call(o, function (t) {
19824                  t.setAttribute("data:pieClicked", "false");
19825                  var e = t.getAttribute("data:pathOrig");
19826                  e && t.setAttribute("d", e);
19827                }),
19828                  r.attr("data:pieClicked", "true");
19829                var n = parseInt(r.attr("data:startAngle"), 10),
19830                  l = parseInt(r.attr("data:angle"), 10);
19831                (e = a.getPiePath({ me: a, startAngle: n, angle: l, size: s })),
19832                  360 !== l && r.plot(e);
19833              } else {
19834                r.attr({ "data:pieClicked": "false" }),
19835                  this.revertDataLabelsInner(r.node, this.donutDataLabels);
19836                var h = r.attr("data:pathOrig");
19837                r.attr({ d: h });
19838              }
19839            },
19840          },
19841          {
19842            key: "getChangedPath",
19843            value: function (t, e) {
19844              var i = "";
19845              return (
19846                this.dynamicAnim &&
19847                  this.w.globals.dataChanged &&
19848                  (i = this.getPiePath({
19849                    me: this,
19850                    startAngle: t,
19851                    angle: e - t,
19852                    size: this.size,
19853                  })),
19854                i
19855              );
19856            },
19857          },
19858          {
19859            key: "getPiePath",
19860            value: function (t) {
19861              var e,
19862                i = t.me,
19863                a = t.startAngle,
19864                s = t.angle,
19865                r = t.size,
19866                o = new m(this.ctx),
19867                n = a,
19868                l = (Math.PI * (n - 90)) / 180,
19869                h = s + a;
19870              Math.ceil(h) >=
19871                this.fullAngle +
19872                  (this.w.config.plotOptions.pie.startAngle % this.fullAngle) &&
19873                (h =
19874                  this.fullAngle +
19875                  (this.w.config.plotOptions.pie.startAngle % this.fullAngle) -
19876                  0.01),
19877                Math.ceil(h) > this.fullAngle && (h -= this.fullAngle);
19878              var c = (Math.PI * (h - 90)) / 180,
19879                d = i.centerX + r * Math.cos(l),
19880                g = i.centerY + r * Math.sin(l),
19881                u = i.centerX + r * Math.cos(c),
19882                p = i.centerY + r * Math.sin(c),
19883                f = x.polarToCartesian(i.centerX, i.centerY, i.donutSize, h),
19884                b = x.polarToCartesian(i.centerX, i.centerY, i.donutSize, n),
19885                v = s > 180 ? 1 : 0,
19886                y = ["M", d, g, "A", r, r, 0, v, 1, u, p];
19887              return (
19888                (e =
19889                  "donut" === i.chartType
19890                    ? []
19891                        .concat(y, [
19892                          "L",
19893                          f.x,
19894                          f.y,
19895                          "A",
19896                          i.donutSize,
19897                          i.donutSize,
19898                          0,
19899                          v,
19900                          0,
19901                          b.x,
19902                          b.y,
19903                          "L",
19904                          d,
19905                          g,
19906                          "z",
19907                        ])
19908                        .join(" ")
19909                    : "pie" === i.chartType || "polarArea" === i.chartType
19910                    ? []
19911                        .concat(y, ["L", i.centerX, i.centerY, "L", d, g])
19912                        .join(" ")
19913                    : [].concat(y).join(" ")),
19914                o.roundPathCorners(e, 2 * this.strokeWidth)
19915              );
19916            },
19917          },
19918          {
19919            key: "drawPolarElements",
19920            value: function (t) {
19921              var e = this.w,
19922                i = new _(this.ctx),
19923                a = new m(this.ctx),
19924                s = new Ct(this.ctx),
19925                r = a.group(),
19926                o = a.group(),
19927                n = i.niceScale(0, Math.ceil(this.maxY), 0),
19928                l = n.result.reverse(),
19929                h = n.result.length;
19930              this.maxY = n.niceMax;
19931              for (
19932                var c = e.globals.radialSize, d = c / (h - 1), g = 0;
19933                g < h - 1;
19934                g++
19935              ) {
19936                var u = a.drawCircle(c);
19937                if (
19938                  (u.attr({
19939                    cx: this.centerX,
19940                    cy: this.centerY,
19941                    fill: "none",
19942                    "stroke-width":
19943                      e.config.plotOptions.polarArea.rings.strokeWidth,
19944                    stroke: e.config.plotOptions.polarArea.rings.strokeColor,
19945                  }),
19946                  e.config.yaxis[0].show)
19947                ) {
19948                  var p = s.drawYAxisTexts(
19949                    this.centerX,
19950                    this.centerY -
19951                      c +
19952                      parseInt(e.config.yaxis[0].labels.style.fontSize, 10) / 2,
19953                    g,
19954                    l[g]
19955                  );
19956                  o.add(p);
19957                }
19958                r.add(u), (c -= d);
19959              }
19960              this.drawSpokes(t), t.add(r), t.add(o);
19961            },
19962          },
19963          {
19964            key: "renderInnerDataLabels",
19965            value: function (t, e) {
19966              var i = this.w,
19967                a = new m(this.ctx),
19968                s = a.group({
19969                  class: "apexcharts-datalabels-group",
19970                  transform: "translate("
19971                    .concat(e.translateX ? e.translateX : 0, ", ")
19972                    .concat(e.translateY ? e.translateY : 0, ") scale(")
19973                    .concat(i.config.plotOptions.pie.customScale, ")"),
19974                }),
19975                r = t.total.show;
19976              s.node.style.opacity = e.opacity;
19977              var o,
19978                n,
19979                l = e.centerX,
19980                h = e.centerY;
19981              o = void 0 === t.name.color ? i.globals.colors[0] : t.name.color;
19982              var c = t.name.fontSize,
19983                d = t.name.fontFamily,
19984                g = t.name.fontWeight;
19985              n =
19986                void 0 === t.value.color
19987                  ? i.config.chart.foreColor
19988                  : t.value.color;
19989              var u = t.value.formatter,
19990                p = "",
19991                f = "";
19992              if (
19993                (r
19994                  ? ((o = t.total.color),
19995                    (c = t.total.fontSize),
19996                    (d = t.total.fontFamily),
19997                    (g = t.total.fontWeight),
19998                    (f = t.total.label),
19999                    (p = t.total.formatter(i)))
20000                  : 1 === i.globals.series.length &&
20001                    ((p = u(i.globals.series[0], i)),
20002                    (f = i.globals.seriesNames[0])),
20003                f && (f = t.name.formatter(f, t.total.show, i)),
20004                t.name.show)
20005              ) {
20006                var x = a.drawText({
20007                  x: l,
20008                  y: h + parseFloat(t.name.offsetY),
20009                  text: f,
20010                  textAnchor: "middle",
20011                  foreColor: o,
20012                  fontSize: c,
20013                  fontWeight: g,
20014                  fontFamily: d,
20015                });
20016                x.node.classList.add("apexcharts-datalabel-label"), s.add(x);
20017              }
20018              if (t.value.show) {
20019                var b = t.name.show
20020                    ? parseFloat(t.value.offsetY) + 16
20021                    : t.value.offsetY,
20022                  v = a.drawText({
20023                    x: l,
20024                    y: h + b,
20025                    text: p,
20026                    textAnchor: "middle",
20027                    foreColor: n,
20028                    fontWeight: t.value.fontWeight,
20029                    fontSize: t.value.fontSize,
20030                    fontFamily: t.value.fontFamily,
20031                  });
20032                v.node.classList.add("apexcharts-datalabel-value"), s.add(v);
20033              }
20034              return s;
20035            },
20036          },
20037          {
20038            key: "printInnerLabels",
20039            value: function (t, e, i, a) {
20040              var s,
20041                r = this.w;
20042              a
20043                ? (s =
20044                    void 0 === t.name.color
20045                      ? r.globals.colors[
20046                          parseInt(a.parentNode.getAttribute("rel"), 10) - 1
20047                        ]
20048                      : t.name.color)
20049                : r.globals.series.length > 1 &&
20050                  t.total.show &&
20051                  (s = t.total.color);
20052              var o = r.globals.dom.baseEl.querySelector(
20053                  ".apexcharts-datalabel-label"
20054                ),
20055                n = r.globals.dom.baseEl.querySelector(
20056                  ".apexcharts-datalabel-value"
20057                );
20058              (i = (0, t.value.formatter)(i, r)),
20059                a ||
20060                  "function" != typeof t.total.formatter ||
20061                  (i = t.total.formatter(r));
20062              var l = e === t.total.label;
20063              (e = t.name.formatter(e, l, r)),
20064                null !== o && (o.textContent = e),
20065                null !== n && (n.textContent = i),
20066                null !== o && (o.style.fill = s);
20067            },
20068          },
20069          {
20070            key: "printDataLabelsInner",
20071            value: function (t, e) {
20072              var i = this.w,
20073                a = t.getAttribute("data:value"),
20074                s =
20075                  i.globals.seriesNames[
20076                    parseInt(t.parentNode.getAttribute("rel"), 10) - 1
20077                  ];
20078              i.globals.series.length > 1 && this.printInnerLabels(e, s, a, t);
20079              var r = i.globals.dom.baseEl.querySelector(
20080                ".apexcharts-datalabels-group"
20081              );
20082              null !== r && (r.style.opacity = 1);
20083            },
20084          },
20085          {
20086            key: "drawSpokes",
20087            value: function (t) {
20088              var e = this,
20089                i = this.w,
20090                a = new m(this.ctx),
20091                s = i.config.plotOptions.polarArea.spokes;
20092              if (0 !== s.strokeWidth) {
20093                for (
20094                  var r = [], o = 360 / i.globals.series.length, n = 0;
20095                  n < i.globals.series.length;
20096                  n++
20097                )
20098                  r.push(
20099                    x.polarToCartesian(
20100                      this.centerX,
20101                      this.centerY,
20102                      i.globals.radialSize,
20103                      i.config.plotOptions.pie.startAngle + o * n
20104                    )
20105                  );
20106                r.forEach(function (i, r) {
20107                  var o = a.drawLine(
20108                    i.x,
20109                    i.y,
20110                    e.centerX,
20111                    e.centerY,
20112                    Array.isArray(s.connectorColors)
20113                      ? s.connectorColors[r]
20114                      : s.connectorColors
20115                  );
20116                  t.add(o);
20117                });
20118              }
20119            },
20120          },
20121          {
20122            key: "revertDataLabelsInner",
20123            value: function (t, e, i) {
20124              var a = this,
20125                s = this.w,
20126                r = s.globals.dom.baseEl.querySelector(
20127                  ".apexcharts-datalabels-group"
20128                ),
20129                o = !1,
20130                n = s.globals.dom.baseEl.getElementsByClassName(
20131                  "apexcharts-pie-area"
20132                ),
20133                l = function (t) {
20134                  var i = t.makeSliceOut,
20135                    s = t.printLabel;
20136                  Array.prototype.forEach.call(n, function (t) {
20137                    "true" === t.getAttribute("data:pieClicked") &&
20138                      (i && (o = !0), s && a.printDataLabelsInner(t, e));
20139                  });
20140                };
20141              if (
20142                (l({ makeSliceOut: !0, printLabel: !1 }),
20143                e.total.show && s.globals.series.length > 1)
20144              )
20145                o && !e.total.showAlways
20146                  ? l({ makeSliceOut: !1, printLabel: !0 })
20147                  : this.printInnerLabels(
20148                      e,
20149                      e.total.label,
20150                      e.total.formatter(s)
20151                    );
20152              else if ((l({ makeSliceOut: !1, printLabel: !0 }), !o))
20153                if (
20154                  s.globals.selectedDataPoints.length &&
20155                  s.globals.series.length > 1
20156                )
20157                  if (s.globals.selectedDataPoints[0].length > 0) {
20158                    var h = s.globals.selectedDataPoints[0],
20159                      c = s.globals.dom.baseEl.querySelector(
20160                        ".apexcharts-"
20161                          .concat(this.chartType.toLowerCase(), "-slice-")
20162                          .concat(h)
20163                      );
20164                    this.printDataLabelsInner(c, e);
20165                  } else
20166                    r &&
20167                      s.globals.selectedDataPoints.length &&
20168                      0 === s.globals.selectedDataPoints[0].length &&
20169                      (r.style.opacity = 0);
20170                else r && s.globals.series.length > 1 && (r.style.opacity = 0);
20171            },
20172          },
20173        ]),
20174        t
20175      );
20176    })(),
20177    Pt = (function () {
20178      function t(e) {
20179        a(this, t),
20180          (this.ctx = e),
20181          (this.w = e.w),
20182          (this.chartType = this.w.config.chart.type),
20183          (this.initialAnim = this.w.config.chart.animations.enabled),
20184          (this.dynamicAnim =
20185            this.initialAnim &&
20186            this.w.config.chart.animations.dynamicAnimation.enabled),
20187          (this.animDur = 0);
20188        var i = this.w;
20189        (this.graphics = new m(this.ctx)),
20190          (this.lineColorArr =
20191            void 0 !== i.globals.stroke.colors
20192              ? i.globals.stroke.colors
20193              : i.globals.colors),
20194          (this.defaultSize =
20195            i.globals.svgHeight < i.globals.svgWidth
20196              ? i.globals.gridHeight + 1.5 * i.globals.goldenPadding
20197              : i.globals.gridWidth),
20198          (this.isLog = i.config.yaxis[0].logarithmic),
20199          (this.coreUtils = new y(this.ctx)),
20200          (this.maxValue = this.isLog
20201            ? this.coreUtils.getLogVal(i.globals.maxY, 0)
20202            : i.globals.maxY),
20203          (this.minValue = this.isLog
20204            ? this.coreUtils.getLogVal(this.w.globals.minY, 0)
20205            : i.globals.minY),
20206          (this.polygons = i.config.plotOptions.radar.polygons),
20207          (this.strokeWidth = i.config.stroke.show ? i.config.stroke.width : 0),
20208          (this.size =
20209            this.defaultSize / 2.1 -
20210            this.strokeWidth -
20211            i.config.chart.dropShadow.blur),
20212          i.config.xaxis.labels.show &&
20213            (this.size = this.size - i.globals.xAxisLabelsWidth / 1.75),
20214          void 0 !== i.config.plotOptions.radar.size &&
20215            (this.size = i.config.plotOptions.radar.size),
20216          (this.dataRadiusOfPercent = []),
20217          (this.dataRadius = []),
20218          (this.angleArr = []),
20219          (this.yaxisLabelsTextsPos = []);
20220      }
20221      return (
20222        r(t, [
20223          {
20224            key: "draw",
20225            value: function (t) {
20226              var i = this,
20227                a = this.w,
20228                s = new R(this.ctx),
20229                r = [],
20230                o = new O(this.ctx);
20231              t.length &&
20232                (this.dataPointsLen = t[a.globals.maxValsInArrayIndex].length),
20233                (this.disAngle = (2 * Math.PI) / this.dataPointsLen);
20234              var n = a.globals.gridWidth / 2,
20235                l = a.globals.gridHeight / 2,
20236                h = n + a.config.plotOptions.radar.offsetX,
20237                c = l + a.config.plotOptions.radar.offsetY,
20238                d = this.graphics.group({
20239                  class: "apexcharts-radar-series apexcharts-plot-series",
20240                  transform: "translate("
20241                    .concat(h || 0, ", ")
20242                    .concat(c || 0, ")"),
20243                }),
20244                g = [],
20245                u = null,
20246                p = null;
20247              if (
20248                ((this.yaxisLabels = this.graphics.group({
20249                  class: "apexcharts-yaxis",
20250                })),
20251                t.forEach(function (t, n) {
20252                  var l = t.length === a.globals.dataPoints,
20253                    h = i.graphics
20254                      .group()
20255                      .attr({
20256                        class: "apexcharts-series",
20257                        "data:longestSeries": l,
20258                        seriesName: x.escapeString(a.globals.seriesNames[n]),
20259                        rel: n + 1,
20260                        "data:realIndex": n,
20261                      });
20262                  (i.dataRadiusOfPercent[n] = []),
20263                    (i.dataRadius[n] = []),
20264                    (i.angleArr[n] = []),
20265                    t.forEach(function (t, e) {
20266                      var a = Math.abs(i.maxValue - i.minValue);
20267                      (t += Math.abs(i.minValue)),
20268                        i.isLog && (t = i.coreUtils.getLogVal(t, 0)),
20269                        (i.dataRadiusOfPercent[n][e] = t / a),
20270                        (i.dataRadius[n][e] =
20271                          i.dataRadiusOfPercent[n][e] * i.size),
20272                        (i.angleArr[n][e] = e * i.disAngle);
20273                    }),
20274                    (g = i.getDataPointsPos(i.dataRadius[n], i.angleArr[n]));
20275                  var c = i.createPaths(g, { x: 0, y: 0 });
20276                  (u = i.graphics.group({
20277                    class:
20278                      "apexcharts-series-markers-wrap apexcharts-element-hidden",
20279                  })),
20280                    (p = i.graphics.group({
20281                      class: "apexcharts-datalabels",
20282                      "data:realIndex": n,
20283                    })),
20284                    a.globals.delayedElements.push({ el: u.node, index: n });
20285                  var d = {
20286                      i: n,
20287                      realIndex: n,
20288                      animationDelay: n,
20289                      initialSpeed: a.config.chart.animations.speed,
20290                      dataChangeSpeed:
20291                        a.config.chart.animations.dynamicAnimation.speed,
20292                      className: "apexcharts-radar",
20293                      shouldClipToGrid: !1,
20294                      bindEventsOnPaths: !1,
20295                      stroke: a.globals.stroke.colors[n],
20296                      strokeLineCap: a.config.stroke.lineCap,
20297                    },
20298                    f = null;
20299                  a.globals.previousPaths.length > 0 &&
20300                    (f = i.getPreviousPath(n));
20301                  for (var b = 0; b < c.linePathsTo.length; b++) {
20302                    var m = i.graphics.renderPaths(
20303                      e(
20304                        e({}, d),
20305                        {},
20306                        {
20307                          pathFrom: null === f ? c.linePathsFrom[b] : f,
20308                          pathTo: c.linePathsTo[b],
20309                          strokeWidth: Array.isArray(i.strokeWidth)
20310                            ? i.strokeWidth[n]
20311                            : i.strokeWidth,
20312                          fill: "none",
20313                          drawShadow: !1,
20314                        }
20315                      )
20316                    );
20317                    h.add(m);
20318                    var y = s.fillPath({ seriesNumber: n }),
20319                      w = i.graphics.renderPaths(
20320                        e(
20321                          e({}, d),
20322                          {},
20323                          {
20324                            pathFrom: null === f ? c.areaPathsFrom[b] : f,
20325                            pathTo: c.areaPathsTo[b],
20326                            strokeWidth: 0,
20327                            fill: y,
20328                            drawShadow: !1,
20329                          }
20330                        )
20331                      );
20332                    if (a.config.chart.dropShadow.enabled) {
20333                      var k = new v(i.ctx),
20334                        A = a.config.chart.dropShadow;
20335                      k.dropShadow(
20336                        w,
20337                        Object.assign({}, A, { noUserSpaceOnUse: !0 }),
20338                        n
20339                      );
20340                    }
20341                    h.add(w);
20342                  }
20343                  t.forEach(function (t, s) {
20344                    var r = new H(i.ctx).getMarkerConfig({
20345                        cssClass: "apexcharts-marker",
20346                        seriesIndex: n,
20347                        dataPointIndex: s,
20348                      }),
20349                      l = i.graphics.drawMarker(g[s].x, g[s].y, r);
20350                    l.attr("rel", s),
20351                      l.attr("j", s),
20352                      l.attr("index", n),
20353                      l.node.setAttribute("default-marker-size", r.pSize);
20354                    var c = i.graphics.group({
20355                      class: "apexcharts-series-markers",
20356                    });
20357                    c && c.add(l), u.add(c), h.add(u);
20358                    var d = a.config.dataLabels;
20359                    if (d.enabled) {
20360                      var f = d.formatter(a.globals.series[n][s], {
20361                        seriesIndex: n,
20362                        dataPointIndex: s,
20363                        w: a,
20364                      });
20365                      o.plotDataLabelsText({
20366                        x: g[s].x,
20367                        y: g[s].y,
20368                        text: f,
20369                        textAnchor: "middle",
20370                        i: n,
20371                        j: n,
20372                        parent: p,
20373                        offsetCorrection: !1,
20374                        dataLabelsConfig: e({}, d),
20375                      });
20376                    }
20377                    h.add(p);
20378                  }),
20379                    r.push(h);
20380                }),
20381                this.drawPolygons({ parent: d }),
20382                a.config.xaxis.labels.show)
20383              ) {
20384                var f = this.drawXAxisTexts();
20385                d.add(f);
20386              }
20387              return (
20388                r.forEach(function (t) {
20389                  d.add(t);
20390                }),
20391                d.add(this.yaxisLabels),
20392                d
20393              );
20394            },
20395          },
20396          {
20397            key: "drawPolygons",
20398            value: function (t) {
20399              for (
20400                var e = this,
20401                  i = this.w,
20402                  a = t.parent,
20403                  s = new Ct(this.ctx),
20404                  r = i.globals.yAxisScale[0].result.reverse(),
20405                  o = r.length,
20406                  n = [],
20407                  l = this.size / (o - 1),
20408                  h = 0;
20409                h < o;
20410                h++
20411              )
20412                n[h] = l * h;
20413              n.reverse();
20414              var c = [],
20415                d = [];
20416              n.forEach(function (t, i) {
20417                var a = x.getPolygonPos(t, e.dataPointsLen),
20418                  s = "";
20419                a.forEach(function (t, a) {
20420                  if (0 === i) {
20421                    var r = e.graphics.drawLine(
20422                      t.x,
20423                      t.y,
20424                      0,
20425                      0,
20426                      Array.isArray(e.polygons.connectorColors)
20427                        ? e.polygons.connectorColors[a]
20428                        : e.polygons.connectorColors
20429                    );
20430                    d.push(r);
20431                  }
20432                  0 === a && e.yaxisLabelsTextsPos.push({ x: t.x, y: t.y }),
20433                    (s += t.x + "," + t.y + " ");
20434                }),
20435                  c.push(s);
20436              }),
20437                c.forEach(function (t, s) {
20438                  var r = e.polygons.strokeColors,
20439                    o = e.polygons.strokeWidth,
20440                    n = e.graphics.drawPolygon(
20441                      t,
20442                      Array.isArray(r) ? r[s] : r,
20443                      Array.isArray(o) ? o[s] : o,
20444                      i.globals.radarPolygons.fill.colors[s]
20445                    );
20446                  a.add(n);
20447                }),
20448                d.forEach(function (t) {
20449                  a.add(t);
20450                }),
20451                i.config.yaxis[0].show &&
20452                  this.yaxisLabelsTextsPos.forEach(function (t, i) {
20453                    var a = s.drawYAxisTexts(t.x, t.y, i, r[i]);
20454                    e.yaxisLabels.add(a);
20455                  });
20456            },
20457          },
20458          {
20459            key: "drawXAxisTexts",
20460            value: function () {
20461              var t = this,
20462                i = this.w,
20463                a = i.config.xaxis.labels,
20464                s = this.graphics.group({ class: "apexcharts-xaxis" }),
20465                r = x.getPolygonPos(this.size, this.dataPointsLen);
20466              return (
20467                i.globals.labels.forEach(function (o, n) {
20468                  var l = i.config.xaxis.labels.formatter,
20469                    h = new O(t.ctx);
20470                  if (r[n]) {
20471                    var c = t.getTextPos(r[n], t.size),
20472                      d = l(o, { seriesIndex: -1, dataPointIndex: n, w: i });
20473                    h.plotDataLabelsText({
20474                      x: c.newX,
20475                      y: c.newY,
20476                      text: d,
20477                      textAnchor: c.textAnchor,
20478                      i: n,
20479                      j: n,
20480                      parent: s,
20481                      color:
20482                        Array.isArray(a.style.colors) && a.style.colors[n]
20483                          ? a.style.colors[n]
20484                          : "#a8a8a8",
20485                      dataLabelsConfig: e(
20486                        {
20487                          textAnchor: c.textAnchor,
20488                          dropShadow: { enabled: !1 },
20489                        },
20490                        a
20491                      ),
20492                      offsetCorrection: !1,
20493                    });
20494                  }
20495                }),
20496                s
20497              );
20498            },
20499          },
20500          {
20501            key: "createPaths",
20502            value: function (t, e) {
20503              var i = this,
20504                a = [],
20505                s = [],
20506                r = [],
20507                o = [];
20508              if (t.length) {
20509                (s = [this.graphics.move(e.x, e.y)]),
20510                  (o = [this.graphics.move(e.x, e.y)]);
20511                var n = this.graphics.move(t[0].x, t[0].y),
20512                  l = this.graphics.move(t[0].x, t[0].y);
20513                t.forEach(function (e, a) {
20514                  (n += i.graphics.line(e.x, e.y)),
20515                    (l += i.graphics.line(e.x, e.y)),
20516                    a === t.length - 1 && ((n += "Z"), (l += "Z"));
20517                }),
20518                  a.push(n),
20519                  r.push(l);
20520              }
20521              return {
20522                linePathsFrom: s,
20523                linePathsTo: a,
20524                areaPathsFrom: o,
20525                areaPathsTo: r,
20526              };
20527            },
20528          },
20529          {
20530            key: "getTextPos",
20531            value: function (t, e) {
20532              var i = "middle",
20533                a = t.x,
20534                s = t.y;
20535              return (
20536                Math.abs(t.x) >= 10
20537                  ? t.x > 0
20538                    ? ((i = "start"), (a += 10))
20539                    : t.x < 0 && ((i = "end"), (a -= 10))
20540                  : (i = "middle"),
20541                Math.abs(t.y) >= e - 10 &&
20542                  (t.y < 0 ? (s -= 10) : t.y > 0 && (s += 10)),
20543                { textAnchor: i, newX: a, newY: s }
20544              );
20545            },
20546          },
20547          {
20548            key: "getPreviousPath",
20549            value: function (t) {
20550              for (
20551                var e = this.w, i = null, a = 0;
20552                a < e.globals.previousPaths.length;
20553                a++
20554              ) {
20555                var s = e.globals.previousPaths[a];
20556                s.paths.length > 0 &&
20557                  parseInt(s.realIndex, 10) === parseInt(t, 10) &&
20558                  void 0 !== e.globals.previousPaths[a].paths[0] &&
20559                  (i = e.globals.previousPaths[a].paths[0].d);
20560              }
20561              return i;
20562            },
20563          },
20564          {
20565            key: "getDataPointsPos",
20566            value: function (t, e) {
20567              var i =
20568                arguments.length > 2 && void 0 !== arguments[2]
20569                  ? arguments[2]
20570                  : this.dataPointsLen;
20571              (t = t || []), (e = e || []);
20572              for (var a = [], s = 0; s < i; s++) {
20573                var r = {};
20574                (r.x = t[s] * Math.sin(e[s])),
20575                  (r.y = -t[s] * Math.cos(e[s])),
20576                  a.push(r);
20577              }
20578              return a;
20579            },
20580          },
20581        ]),
20582        t
20583      );
20584    })(),
20585    It = (function (t) {
20586      n(i, t);
20587      var e = d(i);
20588      function i(t) {
20589        var s;
20590        a(this, i),
20591          ((s = e.call(this, t)).ctx = t),
20592          (s.w = t.w),
20593          (s.animBeginArr = [0]),
20594          (s.animDur = 0);
20595        var r = s.w;
20596        return (
20597          (s.startAngle = r.config.plotOptions.radialBar.startAngle),
20598          (s.endAngle = r.config.plotOptions.radialBar.endAngle),
20599          (s.totalAngle = Math.abs(
20600            r.config.plotOptions.radialBar.endAngle -
20601              r.config.plotOptions.radialBar.startAngle
20602          )),
20603          (s.trackStartAngle = r.config.plotOptions.radialBar.track.startAngle),
20604          (s.trackEndAngle = r.config.plotOptions.radialBar.track.endAngle),
20605          (s.barLabels = s.w.config.plotOptions.radialBar.barLabels),
20606          (s.donutDataLabels = s.w.config.plotOptions.radialBar.dataLabels),
20607          (s.radialDataLabels = s.donutDataLabels),
20608          s.trackStartAngle || (s.trackStartAngle = s.startAngle),
20609          s.trackEndAngle || (s.trackEndAngle = s.endAngle),
20610          360 === s.endAngle && (s.endAngle = 359.99),
20611          (s.margin = parseInt(
20612            r.config.plotOptions.radialBar.track.margin,
20613            10
20614          )),
20615          (s.onBarLabelClick = s.onBarLabelClick.bind(c(s))),
20616          s
20617        );
20618      }
20619      return (
20620        r(i, [
20621          {
20622            key: "draw",
20623            value: function (t) {
20624              var e = this.w,
20625                i = new m(this.ctx),
20626                a = i.group({ class: "apexcharts-radialbar" });
20627              if (e.globals.noData) return a;
20628              var s = i.group(),
20629                r = this.defaultSize / 2,
20630                o = e.globals.gridWidth / 2,
20631                n = this.defaultSize / 2.05;
20632              e.config.chart.sparkline.enabled ||
20633                (n =
20634                  n - e.config.stroke.width - e.config.chart.dropShadow.blur);
20635              var l = e.globals.fill.colors;
20636              if (e.config.plotOptions.radialBar.track.show) {
20637                var h = this.drawTracks({
20638                  size: n,
20639                  centerX: o,
20640                  centerY: r,
20641                  colorArr: l,
20642                  series: t,
20643                });
20644                s.add(h);
20645              }
20646              var c = this.drawArcs({
20647                  size: n,
20648                  centerX: o,
20649                  centerY: r,
20650                  colorArr: l,
20651                  series: t,
20652                }),
20653                d = 360;
20654              e.config.plotOptions.radialBar.startAngle < 0 &&
20655                (d = this.totalAngle);
20656              var g = (360 - d) / 360;
20657              if (
20658                ((e.globals.radialSize = n - n * g),
20659                this.radialDataLabels.value.show)
20660              ) {
20661                var u = Math.max(
20662                  this.radialDataLabels.value.offsetY,
20663                  this.radialDataLabels.name.offsetY
20664                );
20665                e.globals.radialSize += u * g;
20666              }
20667              return (
20668                s.add(c.g),
20669                "front" === e.config.plotOptions.radialBar.hollow.position &&
20670                  (c.g.add(c.elHollow), c.dataLabels && c.g.add(c.dataLabels)),
20671                a.add(s),
20672                a
20673              );
20674            },
20675          },
20676          {
20677            key: "drawTracks",
20678            value: function (t) {
20679              var e = this.w,
20680                i = new m(this.ctx),
20681                a = i.group({ class: "apexcharts-tracks" }),
20682                s = new v(this.ctx),
20683                r = new R(this.ctx),
20684                o = this.getStrokeWidth(t);
20685              t.size = t.size - o / 2;
20686              for (var n = 0; n < t.series.length; n++) {
20687                var l = i.group({
20688                  class: "apexcharts-radialbar-track apexcharts-track",
20689                });
20690                a.add(l),
20691                  l.attr({ rel: n + 1 }),
20692                  (t.size = t.size - o - this.margin);
20693                var h = e.config.plotOptions.radialBar.track,
20694                  c = r.fillPath({
20695                    seriesNumber: 0,
20696                    size: t.size,
20697                    fillColors: Array.isArray(h.background)
20698                      ? h.background[n]
20699                      : h.background,
20700                    solid: !0,
20701                  }),
20702                  d = this.trackStartAngle,
20703                  g = this.trackEndAngle;
20704                Math.abs(g) + Math.abs(d) >= 360 &&
20705                  (g = 360 - Math.abs(this.startAngle) - 0.1);
20706                var u = i.drawPath({
20707                  d: "",
20708                  stroke: c,
20709                  strokeWidth: (o * parseInt(h.strokeWidth, 10)) / 100,
20710                  fill: "none",
20711                  strokeOpacity: h.opacity,
20712                  classes: "apexcharts-radialbar-area",
20713                });
20714                if (h.dropShadow.enabled) {
20715                  var p = h.dropShadow;
20716                  s.dropShadow(u, p);
20717                }
20718                l.add(u),
20719                  u.attr("id", "apexcharts-radialbarTrack-" + n),
20720                  this.animatePaths(u, {
20721                    centerX: t.centerX,
20722                    centerY: t.centerY,
20723                    endAngle: g,
20724                    startAngle: d,
20725                    size: t.size,
20726                    i: n,
20727                    totalItems: 2,
20728                    animBeginArr: 0,
20729                    dur: 0,
20730                    isTrack: !0,
20731                    easing: e.globals.easing,
20732                  });
20733              }
20734              return a;
20735            },
20736          },
20737          {
20738            key: "drawArcs",
20739            value: function (t) {
20740              var e = this.w,
20741                i = new m(this.ctx),
20742                a = new R(this.ctx),
20743                s = new v(this.ctx),
20744                r = i.group(),
20745                o = this.getStrokeWidth(t);
20746              t.size = t.size - o / 2;
20747              var n = e.config.plotOptions.radialBar.hollow.background,
20748                l =
20749                  t.size -
20750                  o * t.series.length -
20751                  this.margin * t.series.length -
20752                  (o *
20753                    parseInt(
20754                      e.config.plotOptions.radialBar.track.strokeWidth,
20755                      10
20756                    )) /
20757                    100 /
20758                    2,
20759                h = l - e.config.plotOptions.radialBar.hollow.margin;
20760              void 0 !== e.config.plotOptions.radialBar.hollow.image &&
20761                (n = this.drawHollowImage(t, r, l, n));
20762              var c = this.drawHollow({
20763                size: h,
20764                centerX: t.centerX,
20765                centerY: t.centerY,
20766                fill: n || "transparent",
20767              });
20768              if (e.config.plotOptions.radialBar.hollow.dropShadow.enabled) {
20769                var d = e.config.plotOptions.radialBar.hollow.dropShadow;
20770                s.dropShadow(c, d);
20771              }
20772              var g = 1;
20773              !this.radialDataLabels.total.show &&
20774                e.globals.series.length > 1 &&
20775                (g = 0);
20776              var u = null;
20777              this.radialDataLabels.show &&
20778                (u = this.renderInnerDataLabels(this.radialDataLabels, {
20779                  hollowSize: l,
20780                  centerX: t.centerX,
20781                  centerY: t.centerY,
20782                  opacity: g,
20783                })),
20784                "back" === e.config.plotOptions.radialBar.hollow.position &&
20785                  (r.add(c), u && r.add(u));
20786              var p = !1;
20787              e.config.plotOptions.radialBar.inverseOrder && (p = !0);
20788              for (
20789                var f = p ? t.series.length - 1 : 0;
20790                p ? f >= 0 : f < t.series.length;
20791                p ? f-- : f++
20792              ) {
20793                var b = i.group({
20794                  class: "apexcharts-series apexcharts-radial-series",
20795                  seriesName: x.escapeString(e.globals.seriesNames[f]),
20796                });
20797                r.add(b),
20798                  b.attr({ rel: f + 1, "data:realIndex": f }),
20799                  this.ctx.series.addCollapsedClassToSeries(b, f),
20800                  (t.size = t.size - o - this.margin);
20801                var y = a.fillPath({
20802                    seriesNumber: f,
20803                    size: t.size,
20804                    value: t.series[f],
20805                  }),
20806                  w = this.startAngle,
20807                  k = void 0,
20808                  A = x.negToZero(t.series[f] > 100 ? 100 : t.series[f]) / 100,
20809                  S = Math.round(this.totalAngle * A) + this.startAngle,
20810                  C = void 0;
20811                e.globals.dataChanged &&
20812                  ((k = this.startAngle),
20813                  (C =
20814                    Math.round(
20815                      (this.totalAngle *
20816                        x.negToZero(e.globals.previousPaths[f])) /
20817                        100
20818                    ) + k)),
20819                  Math.abs(S) + Math.abs(w) >= 360 && (S -= 0.01),
20820                  Math.abs(C) + Math.abs(k) >= 360 && (C -= 0.01);
20821                var L = S - w,
20822                  P = Array.isArray(e.config.stroke.dashArray)
20823                    ? e.config.stroke.dashArray[f]
20824                    : e.config.stroke.dashArray,
20825                  I = i.drawPath({
20826                    d: "",
20827                    stroke: y,
20828                    strokeWidth: o,
20829                    fill: "none",
20830                    fillOpacity: e.config.fill.opacity,
20831                    classes:
20832                      "apexcharts-radialbar-area apexcharts-radialbar-slice-" +
20833                      f,
20834                    strokeDashArray: P,
20835                  });
20836                if (
20837                  (m.setAttrs(I.node, {
20838                    "data:angle": L,
20839                    "data:value": t.series[f],
20840                  }),
20841                  e.config.chart.dropShadow.enabled)
20842                ) {
20843                  var M = e.config.chart.dropShadow;
20844                  s.dropShadow(I, M, f);
20845                }
20846                if (
20847                  (s.setSelectionFilter(I, 0, f),
20848                  this.addListeners(I, this.radialDataLabels),
20849                  b.add(I),
20850                  I.attr({ index: 0, j: f }),
20851                  this.barLabels.enabled)
20852                ) {
20853                  var T = x.polarToCartesian(t.centerX, t.centerY, t.size, w),
20854                    z = this.barLabels.formatter(e.globals.seriesNames[f], {
20855                      seriesIndex: f,
20856                      w: e,
20857                    }),
20858                    X = ["apexcharts-radialbar-label"];
20859                  this.barLabels.onClick || X.push("apexcharts-no-click");
20860                  var E = this.barLabels.useSeriesColors
20861                    ? e.globals.colors[f]
20862                    : e.config.chart.foreColor;
20863                  E || (E = e.config.chart.foreColor);
20864                  var Y = T.x - this.barLabels.margin,
20865                    F = T.y,
20866                    H = i.drawText({
20867                      x: Y,
20868                      y: F,
20869                      text: z,
20870                      textAnchor: "end",
20871                      dominantBaseline: "middle",
20872                      fontFamily: this.barLabels.fontFamily,
20873                      fontWeight: this.barLabels.fontWeight,
20874                      fontSize: this.barLabels.fontSize,
20875                      foreColor: E,
20876                      cssClass: X.join(" "),
20877                    });
20878                  H.on("click", this.onBarLabelClick),
20879                    H.attr({ rel: f + 1 }),
20880                    0 !== w &&
20881                      H.attr({
20882                        "transform-origin": "".concat(Y, " ").concat(F),
20883                        transform: "rotate(".concat(w, " 0 0)"),
20884                      }),
20885                    b.add(H);
20886                }
20887                var D = 0;
20888                !this.initialAnim ||
20889                  e.globals.resized ||
20890                  e.globals.dataChanged ||
20891                  (D = e.config.chart.animations.speed),
20892                  e.globals.dataChanged &&
20893                    (D = e.config.chart.animations.dynamicAnimation.speed),
20894                  (this.animDur = D / (1.2 * t.series.length) + this.animDur),
20895                  this.animBeginArr.push(this.animDur),
20896                  this.animatePaths(I, {
20897                    centerX: t.centerX,
20898                    centerY: t.centerY,
20899                    endAngle: S,
20900                    startAngle: w,
20901                    prevEndAngle: C,
20902                    prevStartAngle: k,
20903                    size: t.size,
20904                    i: f,
20905                    totalItems: 2,
20906                    animBeginArr: this.animBeginArr,
20907                    dur: D,
20908                    shouldSetPrevPaths: !0,
20909                    easing: e.globals.easing,
20910                  });
20911              }
20912              return { g: r, elHollow: c, dataLabels: u };
20913            },
20914          },
20915          {
20916            key: "drawHollow",
20917            value: function (t) {
20918              var e = new m(this.ctx).drawCircle(2 * t.size);
20919              return (
20920                e.attr({
20921                  class: "apexcharts-radialbar-hollow",
20922                  cx: t.centerX,
20923                  cy: t.centerY,
20924                  r: t.size,
20925                  fill: t.fill,
20926                }),
20927                e
20928              );
20929            },
20930          },
20931          {
20932            key: "drawHollowImage",
20933            value: function (t, e, i, a) {
20934              var s = this.w,
20935                r = new R(this.ctx),
20936                o = x.randomId(),
20937                n = s.config.plotOptions.radialBar.hollow.image;
20938              if (s.config.plotOptions.radialBar.hollow.imageClipped)
20939                r.clippedImgArea({
20940                  width: i,
20941                  height: i,
20942                  image: n,
20943                  patternID: "pattern".concat(s.globals.cuid).concat(o),
20944                }),
20945                  (a = "url(#pattern".concat(s.globals.cuid).concat(o, ")"));
20946              else {
20947                var l = s.config.plotOptions.radialBar.hollow.imageWidth,
20948                  h = s.config.plotOptions.radialBar.hollow.imageHeight;
20949                if (void 0 === l && void 0 === h) {
20950                  var c = s.globals.dom.Paper.image(n).loaded(function (e) {
20951                    this.move(
20952                      t.centerX -
20953                        e.width / 2 +
20954                        s.config.plotOptions.radialBar.hollow.imageOffsetX,
20955                      t.centerY -
20956                        e.height / 2 +
20957                        s.config.plotOptions.radialBar.hollow.imageOffsetY
20958                    );
20959                  });
20960                  e.add(c);
20961                } else {
20962                  var d = s.globals.dom.Paper.image(n).loaded(function (e) {
20963                    this.move(
20964                      t.centerX -
20965                        l / 2 +
20966                        s.config.plotOptions.radialBar.hollow.imageOffsetX,
20967                      t.centerY -
20968                        h / 2 +
20969                        s.config.plotOptions.radialBar.hollow.imageOffsetY
20970                    ),
20971                      this.size(l, h);
20972                  });
20973                  e.add(d);
20974                }
20975              }
20976              return a;
20977            },
20978          },
20979          {
20980            key: "getStrokeWidth",
20981            value: function (t) {
20982              var e = this.w;
20983              return (
20984                (t.size *
20985                  (100 -
20986                    parseInt(e.config.plotOptions.radialBar.hollow.size, 10))) /
20987                  100 /
20988                  (t.series.length + 1) -
20989                this.margin
20990              );
20991            },
20992          },
20993          {
20994            key: "onBarLabelClick",
20995            value: function (t) {
20996              var e = parseInt(t.target.getAttribute("rel"), 10) - 1,
20997                i = this.barLabels.onClick,
20998                a = this.w;
20999              i && i(a.globals.seriesNames[e], { w: a, seriesIndex: e });
21000            },
21001          },
21002        ]),
21003        i
21004      );
21005    })(Lt),
21006    Mt = (function (t) {
21007      n(s, t);
21008      var i = d(s);
21009      function s() {
21010        return a(this, s), i.apply(this, arguments);
21011      }
21012      return (
21013        r(s, [
21014          {
21015            key: "draw",
21016            value: function (t, i) {
21017              var a = this.w,
21018                s = new m(this.ctx);
21019              (this.rangeBarOptions = this.w.config.plotOptions.rangeBar),
21020                (this.series = t),
21021                (this.seriesRangeStart = a.globals.seriesRangeStart),
21022                (this.seriesRangeEnd = a.globals.seriesRangeEnd),
21023                this.barHelpers.initVariables(t);
21024              for (
21025                var r = s.group({
21026                    class: "apexcharts-rangebar-series apexcharts-plot-series",
21027                  }),
21028                  n = 0;
21029                n < t.length;
21030                n++
21031              ) {
21032                var l,
21033                  h,
21034                  c,
21035                  d,
21036                  g = void 0,
21037                  u = void 0,
21038                  p = a.globals.comboCharts ? i[n] : n,
21039                  f = s.group({
21040                    class: "apexcharts-series",
21041                    seriesName: x.escapeString(a.globals.seriesNames[p]),
21042                    rel: n + 1,
21043                    "data:realIndex": p,
21044                  });
21045                this.ctx.series.addCollapsedClassToSeries(f, p),
21046                  t[n].length > 0 && (this.visibleI = this.visibleI + 1);
21047                var b = 0,
21048                  v = 0;
21049                this.yRatio.length > 1 && (this.yaxisIndex = p);
21050                var y = this.barHelpers.initialPositions();
21051                (u = y.y),
21052                  (d = y.zeroW),
21053                  (g = y.x),
21054                  (v = y.barWidth),
21055                  (b = y.barHeight),
21056                  (l = y.xDivision),
21057                  (h = y.yDivision),
21058                  (c = y.zeroH);
21059                for (
21060                  var w = s.group({
21061                      class: "apexcharts-datalabels",
21062                      "data:realIndex": p,
21063                    }),
21064                    k = s.group({ class: "apexcharts-rangebar-goals-markers" }),
21065                    A = 0;
21066                  A < a.globals.dataPoints;
21067                  A++
21068                ) {
21069                  var S,
21070                    C = this.barHelpers.getStrokeWidth(n, A, p),
21071                    L = this.seriesRangeStart[n][A],
21072                    P = this.seriesRangeEnd[n][A],
21073                    I = null,
21074                    M = null,
21075                    T = null,
21076                    z = { x: g, y: u, strokeWidth: C, elSeries: f },
21077                    X = this.seriesLen;
21078                  if (
21079                    (a.config.plotOptions.bar.rangeBarGroupRows && (X = 1),
21080                    void 0 === a.config.series[n].data[A])
21081                  )
21082                    break;
21083                  if (this.isHorizontal) {
21084                    T = u + b * this.visibleI;
21085                    var E = (h - b * X) / 2;
21086                    if (a.config.series[n].data[A].x) {
21087                      var Y = this.detectOverlappingBars({
21088                        i: n,
21089                        j: A,
21090                        barYPosition: T,
21091                        srty: E,
21092                        barHeight: b,
21093                        yDivision: h,
21094                        initPositions: y,
21095                      });
21096                      (b = Y.barHeight), (T = Y.barYPosition);
21097                    }
21098                    v = (I = this.drawRangeBarPaths(
21099                      e(
21100                        {
21101                          indexes: { i: n, j: A, realIndex: p },
21102                          barHeight: b,
21103                          barYPosition: T,
21104                          zeroW: d,
21105                          yDivision: h,
21106                          y1: L,
21107                          y2: P,
21108                        },
21109                        z
21110                      )
21111                    )).barWidth;
21112                  } else {
21113                    a.globals.isXNumeric &&
21114                      (g =
21115                        (a.globals.seriesX[n][A] - a.globals.minX) /
21116                          this.xRatio -
21117                        v / 2),
21118                      (M = g + v * this.visibleI);
21119                    var F = (l - v * X) / 2;
21120                    if (a.config.series[n].data[A].x) {
21121                      var R = this.detectOverlappingBars({
21122                        i: n,
21123                        j: A,
21124                        barXPosition: M,
21125                        srtx: F,
21126                        barWidth: v,
21127                        xDivision: l,
21128                        initPositions: y,
21129                      });
21130                      (v = R.barWidth), (M = R.barXPosition);
21131                    }
21132                    b = (I = this.drawRangeColumnPaths(
21133                      e(
21134                        {
21135                          indexes: { i: n, j: A, realIndex: p },
21136                          barWidth: v,
21137                          barXPosition: M,
21138                          zeroH: c,
21139                          xDivision: l,
21140                        },
21141                        z
21142                      )
21143                    )).barHeight;
21144                  }
21145                  var H = this.barHelpers.drawGoalLine({
21146                    barXPosition: I.barXPosition,
21147                    barYPosition: T,
21148                    goalX: I.goalX,
21149                    goalY: I.goalY,
21150                    barHeight: b,
21151                    barWidth: v,
21152                  });
21153                  H && k.add(H), (u = I.y), (g = I.x);
21154                  var D = this.barHelpers.getPathFillColor(t, n, A, p),
21155                    O = a.globals.stroke.colors[p];
21156                  this.renderSeries(
21157                    (o(
21158                      (S = {
21159                        realIndex: p,
21160                        pathFill: D,
21161                        lineFill: O,
21162                        j: A,
21163                        i: n,
21164                        x: g,
21165                        y: u,
21166                        y1: L,
21167                        y2: P,
21168                        pathFrom: I.pathFrom,
21169                        pathTo: I.pathTo,
21170                        strokeWidth: C,
21171                        elSeries: f,
21172                        series: t,
21173                        barHeight: b,
21174                        barWidth: v,
21175                        barXPosition: M,
21176                        barYPosition: T,
21177                      }),
21178                      "barWidth",
21179                      v
21180                    ),
21181                    o(S, "elDataLabelsWrap", w),
21182                    o(S, "elGoalsMarkers", k),
21183                    o(S, "visibleSeries", this.visibleI),
21184                    o(S, "type", "rangebar"),
21185                    S)
21186                  );
21187                }
21188                r.add(f);
21189              }
21190              return r;
21191            },
21192          },
21193          {
21194            key: "detectOverlappingBars",
21195            value: function (t) {
21196              var e = t.i,
21197                i = t.j,
21198                a = t.barYPosition,
21199                s = t.barXPosition,
21200                r = t.srty,
21201                o = t.srtx,
21202                n = t.barHeight,
21203                l = t.barWidth,
21204                h = t.yDivision,
21205                c = t.xDivision,
21206                d = t.initPositions,
21207                g = this.w,
21208                u = [],
21209                p = g.config.series[e].data[i].rangeName,
21210                f = g.config.series[e].data[i].x,
21211                x = Array.isArray(f) ? f.join(" ") : f,
21212                b = g.globals.labels
21213                  .map(function (t) {
21214                    return Array.isArray(t) ? t.join(" ") : t;
21215                  })
21216                  .indexOf(x),
21217                v = g.globals.seriesRange[e].findIndex(function (t) {
21218                  return t.x === x && t.overlaps.length > 0;
21219                });
21220              return (
21221                this.isHorizontal
21222                  ? ((a = g.config.plotOptions.bar.rangeBarGroupRows
21223                      ? r + h * b
21224                      : r + n * this.visibleI + h * b),
21225                    v > -1 &&
21226                      !g.config.plotOptions.bar.rangeBarOverlap &&
21227                      (u = g.globals.seriesRange[e][v].overlaps).indexOf(p) >
21228                        -1 &&
21229                      (a =
21230                        (n = d.barHeight / u.length) * this.visibleI +
21231                        (h * (100 - parseInt(this.barOptions.barHeight, 10))) /
21232                          100 /
21233                          2 +
21234                        n * (this.visibleI + u.indexOf(p)) +
21235                        h * b))
21236                  : (b > -1 &&
21237                      (s = g.config.plotOptions.bar.rangeBarGroupRows
21238                        ? o + c * b
21239                        : o + l * this.visibleI + c * b),
21240                    v > -1 &&
21241                      !g.config.plotOptions.bar.rangeBarOverlap &&
21242                      (u = g.globals.seriesRange[e][v].overlaps).indexOf(p) >
21243                        -1 &&
21244                      (s =
21245                        (l = d.barWidth / u.length) * this.visibleI +
21246                        (c * (100 - parseInt(this.barOptions.barWidth, 10))) /
21247                          100 /
21248                          2 +
21249                        l * (this.visibleI + u.indexOf(p)) +
21250                        c * b)),
21251                { barYPosition: a, barXPosition: s, barHeight: n, barWidth: l }
21252              );
21253            },
21254          },
21255          {
21256            key: "drawRangeColumnPaths",
21257            value: function (t) {
21258              var e = t.indexes,
21259                i = t.x,
21260                a = t.xDivision,
21261                s = t.barWidth,
21262                r = t.barXPosition,
21263                o = t.zeroH,
21264                n = this.w,
21265                l = e.i,
21266                h = e.j,
21267                c = this.yRatio[this.yaxisIndex],
21268                d = e.realIndex,
21269                g = this.getRangeValue(d, h),
21270                u = Math.min(g.start, g.end),
21271                p = Math.max(g.start, g.end);
21272              void 0 === this.series[l][h] || null === this.series[l][h]
21273                ? (u = o)
21274                : ((u = o - u / c), (p = o - p / c));
21275              var f = Math.abs(p - u),
21276                x = this.barHelpers.getColumnPaths({
21277                  barXPosition: r,
21278                  barWidth: s,
21279                  y1: u,
21280                  y2: p,
21281                  strokeWidth: this.strokeWidth,
21282                  series: this.seriesRangeEnd,
21283                  realIndex: e.realIndex,
21284                  i: d,
21285                  j: h,
21286                  w: n,
21287                });
21288              if (n.globals.isXNumeric) {
21289                var b = this.getBarXForNumericXAxis({
21290                  x: i,
21291                  j: h,
21292                  realIndex: d,
21293                  barWidth: s,
21294                });
21295                (i = b.x), (r = b.barXPosition);
21296              } else i += a;
21297              return {
21298                pathTo: x.pathTo,
21299                pathFrom: x.pathFrom,
21300                barHeight: f,
21301                x: i,
21302                y: p,
21303                goalY: this.barHelpers.getGoalValues("y", null, o, l, h),
21304                barXPosition: r,
21305              };
21306            },
21307          },
21308          {
21309            key: "drawRangeBarPaths",
21310            value: function (t) {
21311              var e = t.indexes,
21312                i = t.y,
21313                a = t.y1,
21314                s = t.y2,
21315                r = t.yDivision,
21316                o = t.barHeight,
21317                n = t.barYPosition,
21318                l = t.zeroW,
21319                h = this.w,
21320                c = l + a / this.invertedYRatio,
21321                d = l + s / this.invertedYRatio,
21322                g = Math.abs(d - c),
21323                u = this.barHelpers.getBarpaths({
21324                  barYPosition: n,
21325                  barHeight: o,
21326                  x1: c,
21327                  x2: d,
21328                  strokeWidth: this.strokeWidth,
21329                  series: this.seriesRangeEnd,
21330                  i: e.realIndex,
21331                  realIndex: e.realIndex,
21332                  j: e.j,
21333                  w: h,
21334                });
21335              return (
21336                h.globals.isXNumeric || (i += r),
21337                {
21338                  pathTo: u.pathTo,
21339                  pathFrom: u.pathFrom,
21340                  barWidth: g,
21341                  x: d,
21342                  goalX: this.barHelpers.getGoalValues(
21343                    "x",
21344                    l,
21345                    null,
21346                    e.realIndex,
21347                    e.j
21348                  ),
21349                  y: i,
21350                }
21351              );
21352            },
21353          },
21354          {
21355            key: "getRangeValue",
21356            value: function (t, e) {
21357              var i = this.w;
21358              return {
21359                start: i.globals.seriesRangeStart[t][e],
21360                end: i.globals.seriesRangeEnd[t][e],
21361              };
21362            },
21363          },
21364        ]),
21365        s
21366      );
21367    })(yt),
21368    Tt = (function () {
21369      function t(e) {
21370        a(this, t), (this.w = e.w), (this.lineCtx = e);
21371      }
21372      return (
21373        r(t, [
21374          {
21375            key: "sameValueSeriesFix",
21376            value: function (t, e) {
21377              var i = this.w;
21378              if (
21379                ("gradient" === i.config.fill.type ||
21380                  "gradient" === i.config.fill.type[t]) &&
21381                new y(this.lineCtx.ctx, i).seriesHaveSameValues(t)
21382              ) {
21383                var a = e[t].slice();
21384                (a[a.length - 1] = a[a.length - 1] + 1e-6), (e[t] = a);
21385              }
21386              return e;
21387            },
21388          },
21389          {
21390            key: "calculatePoints",
21391            value: function (t) {
21392              var e = t.series,
21393                i = t.realIndex,
21394                a = t.x,
21395                s = t.y,
21396                r = t.i,
21397                o = t.j,
21398                n = t.prevY,
21399                l = this.w,
21400                h = [],
21401                c = [];
21402              if (0 === o) {
21403                var d =
21404                  this.lineCtx.categoryAxisCorrection +
21405                  l.config.markers.offsetX;
21406                l.globals.isXNumeric &&
21407                  (d =
21408                    (l.globals.seriesX[i][0] - l.globals.minX) /
21409                      this.lineCtx.xRatio +
21410                    l.config.markers.offsetX),
21411                  h.push(d),
21412                  c.push(
21413                    x.isNumber(e[r][0]) ? n + l.config.markers.offsetY : null
21414                  ),
21415                  h.push(a + l.config.markers.offsetX),
21416                  c.push(
21417                    x.isNumber(e[r][o + 1])
21418                      ? s + l.config.markers.offsetY
21419                      : null
21420                  );
21421              } else
21422                h.push(a + l.config.markers.offsetX),
21423                  c.push(
21424                    x.isNumber(e[r][o + 1])
21425                      ? s + l.config.markers.offsetY
21426                      : null
21427                  );
21428              return { x: h, y: c };
21429            },
21430          },
21431          {
21432            key: "checkPreviousPaths",
21433            value: function (t) {
21434              for (
21435                var e = t.pathFromLine,
21436                  i = t.pathFromArea,
21437                  a = t.realIndex,
21438                  s = this.w,
21439                  r = 0;
21440                r < s.globals.previousPaths.length;
21441                r++
21442              ) {
21443                var o = s.globals.previousPaths[r];
21444                ("line" === o.type || "area" === o.type) &&
21445                  o.paths.length > 0 &&
21446                  parseInt(o.realIndex, 10) === parseInt(a, 10) &&
21447                  ("line" === o.type
21448                    ? ((this.lineCtx.appendPathFrom = !1),
21449                      (e = s.globals.previousPaths[r].paths[0].d))
21450                    : "area" === o.type &&
21451                      ((this.lineCtx.appendPathFrom = !1),
21452                      (i = s.globals.previousPaths[r].paths[0].d),
21453                      s.config.stroke.show &&
21454                        s.globals.previousPaths[r].paths[1] &&
21455                        (e = s.globals.previousPaths[r].paths[1].d)));
21456              }
21457              return { pathFromLine: e, pathFromArea: i };
21458            },
21459          },
21460          {
21461            key: "determineFirstPrevY",
21462            value: function (t) {
21463              var e,
21464                i,
21465                a = t.i,
21466                s = t.series,
21467                r = t.prevY,
21468                o = t.lineYPosition,
21469                n = this.w,
21470                l =
21471                  (n.config.chart.stacked && !n.globals.comboCharts) ||
21472                  (n.config.chart.stacked &&
21473                    n.globals.comboCharts &&
21474                    (!this.w.config.chart.stackOnlyBar ||
21475                      "bar" ===
21476                        (null === (e = this.w.config.series[a]) || void 0 === e
21477                          ? void 0
21478                          : e.type)));
21479              if (
21480                void 0 !== (null === (i = s[a]) || void 0 === i ? void 0 : i[0])
21481              )
21482                r =
21483                  (o =
21484                    l && a > 0
21485                      ? this.lineCtx.prevSeriesY[a - 1][0]
21486                      : this.lineCtx.zeroY) -
21487                  s[a][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] +
21488                  2 *
21489                    (this.lineCtx.isReversed
21490                      ? s[a][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex]
21491                      : 0);
21492              else if (l && a > 0 && void 0 === s[a][0])
21493                for (var h = a - 1; h >= 0; h--)
21494                  if (null !== s[h][0] && void 0 !== s[h][0]) {
21495                    r = o = this.lineCtx.prevSeriesY[h][0];
21496                    break;
21497                  }
21498              return { prevY: r, lineYPosition: o };
21499            },
21500          },
21501        ]),
21502        t
21503      );
21504    })(),
21505    zt = function (t) {
21506      for (
21507        var e,
21508          i,
21509          a,
21510          s,
21511          r = (function (t) {
21512            for (
21513              var e = [],
21514                i = t[0],
21515                a = t[1],
21516                s = (e[0] = Yt(i, a)),
21517                r = 1,
21518                o = t.length - 1;
21519              r < o;
21520              r++
21521            )
21522              (i = a), (a = t[r + 1]), (e[r] = 0.5 * (s + (s = Yt(i, a))));
21523            return (e[r] = s), e;
21524          })(t),
21525          o = t.length - 1,
21526          n = [],
21527          l = 0;
21528        l < o;
21529        l++
21530      )
21531        (a = Yt(t[l], t[l + 1])),
21532          Math.abs(a) < 1e-6
21533            ? (r[l] = r[l + 1] = 0)
21534            : (s = (e = r[l] / a) * e + (i = r[l + 1] / a) * i) > 9 &&
21535              ((s = (3 * a) / Math.sqrt(s)),
21536              (r[l] = s * e),
21537              (r[l + 1] = s * i));
21538      for (var h = 0; h <= o; h++)
21539        (s =
21540          (t[Math.min(o, h + 1)][0] - t[Math.max(0, h - 1)][0]) /
21541          (6 * (1 + r[h] * r[h]))),
21542          n.push([s || 0, r[h] * s || 0]);
21543      return n;
21544    },
21545    Xt = function (t) {
21546      for (var e = "", i = 0; i < t.length; i++) {
21547        var a = t[i],
21548          s = a.length;
21549        s > 4
21550          ? ((e += "C".concat(a[0], ", ").concat(a[1])),
21551            (e += ", ".concat(a[2], ", ").concat(a[3])),
21552            (e += ", ".concat(a[4], ", ").concat(a[5])))
21553          : s > 2 &&
21554            ((e += "S".concat(a[0], ", ").concat(a[1])),
21555            (e += ", ".concat(a[2], ", ").concat(a[3])));
21556      }
21557      return e;
21558    },
21559    Et = function (t) {
21560      var e = zt(t),
21561        i = t[1],
21562        a = t[0],
21563        s = [],
21564        r = e[1],
21565        o = e[0];
21566      s.push(a, [
21567        a[0] + o[0],
21568        a[1] + o[1],
21569        i[0] - r[0],
21570        i[1] - r[1],
21571        i[0],
21572        i[1],
21573      ]);
21574      for (var n = 2, l = e.length; n < l; n++) {
21575        var h = t[n],
21576          c = e[n];
21577        s.push([h[0] - c[0], h[1] - c[1], h[0], h[1]]);
21578      }
21579      return s;
21580    };
21581  function Yt(t, e) {
21582    return (e[1] - t[1]) / (e[0] - t[0]);
21583  }
21584  var Ft = (function () {
21585    function t(e, i, s) {
21586      a(this, t),
21587        (this.ctx = e),
21588        (this.w = e.w),
21589        (this.xyRatios = i),
21590        (this.pointsChart =
21591          !(
21592            "bubble" !== this.w.config.chart.type &&
21593            "scatter" !== this.w.config.chart.type
21594          ) || s),
21595        (this.scatter = new D(this.ctx)),
21596        (this.noNegatives = this.w.globals.minX === Number.MAX_VALUE),
21597        (this.lineHelpers = new Tt(this)),
21598        (this.markers = new H(this.ctx)),
21599        (this.prevSeriesY = []),
21600        (this.categoryAxisCorrection = 0),
21601        (this.yaxisIndex = 0);
21602    }
21603    return (
21604      r(t, [
21605        {
21606          key: "draw",
21607          value: function (t, i, a, s) {
21608            var r,
21609              o = this.w,
21610              n = new m(this.ctx),
21611              l = o.globals.comboCharts ? i : o.config.chart.type,
21612              h = n.group({
21613                class: "apexcharts-".concat(
21614                  l,
21615                  "-series apexcharts-plot-series"
21616                ),
21617              }),
21618              c = new y(this.ctx, o);
21619            (this.yRatio = this.xyRatios.yRatio),
21620              (this.zRatio = this.xyRatios.zRatio),
21621              (this.xRatio = this.xyRatios.xRatio),
21622              (this.baseLineY = this.xyRatios.baseLineY),
21623              (t = c.getLogSeries(t)),
21624              (this.yRatio = c.getLogYRatios(this.yRatio));
21625            for (var d = [], g = 0; g < t.length; g++) {
21626              t = this.lineHelpers.sameValueSeriesFix(g, t);
21627              var u = o.globals.comboCharts ? a[g] : g;
21628              this._initSerieVariables(t, g, u);
21629              var p = [],
21630                f = [],
21631                x = [],
21632                b = o.globals.padHorizontal + this.categoryAxisCorrection;
21633              this.ctx.series.addCollapsedClassToSeries(this.elSeries, u),
21634                o.globals.isXNumeric &&
21635                  o.globals.seriesX.length > 0 &&
21636                  (b =
21637                    (o.globals.seriesX[u][0] - o.globals.minX) / this.xRatio),
21638                x.push(b);
21639              var v,
21640                w = b,
21641                k = void 0,
21642                A = w,
21643                S = this.zeroY,
21644                C = this.zeroY;
21645              (S = this.lineHelpers.determineFirstPrevY({
21646                i: g,
21647                series: t,
21648                prevY: S,
21649                lineYPosition: 0,
21650              }).prevY),
21651                "monotonCubic" === o.config.stroke.curve && null === t[g][0]
21652                  ? p.push(null)
21653                  : p.push(S),
21654                (v = S);
21655              "rangeArea" === l &&
21656                ((k = C =
21657                  this.lineHelpers.determineFirstPrevY({
21658                    i: g,
21659                    series: s,
21660                    prevY: C,
21661                    lineYPosition: 0,
21662                  }).prevY),
21663                f.push(C));
21664              var L = {
21665                  type: l,
21666                  series: t,
21667                  realIndex: u,
21668                  i: g,
21669                  x: b,
21670                  y: 1,
21671                  pX: w,
21672                  pY: v,
21673                  pathsFrom: this._calculatePathsFrom({
21674                    type: l,
21675                    series: t,
21676                    i: g,
21677                    realIndex: u,
21678                    prevX: A,
21679                    prevY: S,
21680                    prevY2: C,
21681                  }),
21682                  linePaths: [],
21683                  areaPaths: [],
21684                  seriesIndex: a,
21685                  lineYPosition: 0,
21686                  xArrj: x,
21687                  yArrj: p,
21688                  y2Arrj: f,
21689                  seriesRangeEnd: s,
21690                },
21691                P = this._iterateOverDataPoints(
21692                  e(
21693                    e({}, L),
21694                    {},
21695                    {
21696                      iterations: "rangeArea" === l ? t[g].length - 1 : void 0,
21697                      isRangeStart: !0,
21698                    }
21699                  )
21700                );
21701              if ("rangeArea" === l) {
21702                var I = this._calculatePathsFrom({
21703                    series: s,
21704                    i: g,
21705                    realIndex: u,
21706                    prevX: A,
21707                    prevY: C,
21708                  }),
21709                  M = this._iterateOverDataPoints(
21710                    e(
21711                      e({}, L),
21712                      {},
21713                      {
21714                        series: s,
21715                        pY: k,
21716                        pathsFrom: I,
21717                        iterations: s[g].length - 1,
21718                        isRangeStart: !1,
21719                      }
21720                    )
21721                  );
21722                (P.linePaths[0] = M.linePath + P.linePath),
21723                  (P.pathFromLine = M.pathFromLine + P.pathFromLine);
21724              }
21725              this._handlePaths({ type: l, realIndex: u, i: g, paths: P }),
21726                this.elSeries.add(this.elPointsMain),
21727                this.elSeries.add(this.elDataLabelsWrap),
21728                d.push(this.elSeries);
21729            }
21730            if (
21731              (void 0 !==
21732                (null === (r = o.config.series[0]) || void 0 === r
21733                  ? void 0
21734                  : r.zIndex) &&
21735                d.sort(function (t, e) {
21736                  return (
21737                    Number(t.node.getAttribute("zIndex")) -
21738                    Number(e.node.getAttribute("zIndex"))
21739                  );
21740                }),
21741              o.config.chart.stacked)
21742            )
21743              for (var T = d.length; T > 0; T--) h.add(d[T - 1]);
21744            else for (var z = 0; z < d.length; z++) h.add(d[z]);
21745            return h;
21746          },
21747        },
21748        {
21749          key: "_initSerieVariables",
21750          value: function (t, e, i) {
21751            var a = this.w,
21752              s = new m(this.ctx);
21753            (this.xDivision =
21754              a.globals.gridWidth /
21755              (a.globals.dataPoints -
21756                ("on" === a.config.xaxis.tickPlacement ? 1 : 0))),
21757              (this.strokeWidth = Array.isArray(a.config.stroke.width)
21758                ? a.config.stroke.width[i]
21759                : a.config.stroke.width),
21760              this.yRatio.length > 1 && (this.yaxisIndex = i),
21761              (this.isReversed =
21762                a.config.yaxis[this.yaxisIndex] &&
21763                a.config.yaxis[this.yaxisIndex].reversed),
21764              (this.zeroY =
21765                a.globals.gridHeight -
21766                this.baseLineY[this.yaxisIndex] -
21767                (this.isReversed ? a.globals.gridHeight : 0) +
21768                (this.isReversed ? 2 * this.baseLineY[this.yaxisIndex] : 0)),
21769              (this.areaBottomY = this.zeroY),
21770              (this.zeroY > a.globals.gridHeight ||
21771                "end" === a.config.plotOptions.area.fillTo) &&
21772                (this.areaBottomY = a.globals.gridHeight),
21773              (this.categoryAxisCorrection = this.xDivision / 2),
21774              (this.elSeries = s.group({
21775                class: "apexcharts-series",
21776                zIndex:
21777                  void 0 !== a.config.series[i].zIndex
21778                    ? a.config.series[i].zIndex
21779                    : i,
21780                seriesName: x.escapeString(a.globals.seriesNames[i]),
21781              })),
21782              (this.elPointsMain = s.group({
21783                class: "apexcharts-series-markers-wrap",
21784                "data:realIndex": i,
21785              })),
21786              (this.elDataLabelsWrap = s.group({
21787                class: "apexcharts-datalabels",
21788                "data:realIndex": i,
21789              }));
21790            var r = t[e].length === a.globals.dataPoints;
21791            this.elSeries.attr({
21792              "data:longestSeries": r,
21793              rel: e + 1,
21794              "data:realIndex": i,
21795            }),
21796              (this.appendPathFrom = !0);
21797          },
21798        },
21799        {
21800          key: "_calculatePathsFrom",
21801          value: function (t) {
21802            var e,
21803              i,
21804              a,
21805              s,
21806              r = t.type,
21807              o = t.series,
21808              n = t.i,
21809              l = t.realIndex,
21810              h = t.prevX,
21811              c = t.prevY,
21812              d = t.prevY2,
21813              g = this.w,
21814              u = new m(this.ctx);
21815            if (null === o[n][0]) {
21816              for (var p = 0; p < o[n].length; p++)
21817                if (null !== o[n][p]) {
21818                  (h = this.xDivision * p),
21819                    (c = this.zeroY - o[n][p] / this.yRatio[this.yaxisIndex]),
21820                    (e = u.move(h, c)),
21821                    (i = u.move(h, this.areaBottomY));
21822                  break;
21823                }
21824            } else
21825              (e = u.move(h, c)),
21826                "rangeArea" === r && (e = u.move(h, d) + u.line(h, c)),
21827                (i = u.move(h, this.areaBottomY) + u.line(h, c));
21828            if (
21829              ((a = u.move(-1, this.zeroY) + u.line(-1, this.zeroY)),
21830              (s = u.move(-1, this.zeroY) + u.line(-1, this.zeroY)),
21831              g.globals.previousPaths.length > 0)
21832            ) {
21833              var f = this.lineHelpers.checkPreviousPaths({
21834                pathFromLine: a,
21835                pathFromArea: s,
21836                realIndex: l,
21837              });
21838              (a = f.pathFromLine), (s = f.pathFromArea);
21839            }
21840            return {
21841              prevX: h,
21842              prevY: c,
21843              linePath: e,
21844              areaPath: i,
21845              pathFromLine: a,
21846              pathFromArea: s,
21847            };
21848          },
21849        },
21850        {
21851          key: "_handlePaths",
21852          value: function (t) {
21853            var i = t.type,
21854              a = t.realIndex,
21855              s = t.i,
21856              r = t.paths,
21857              o = this.w,
21858              n = new m(this.ctx),
21859              l = new R(this.ctx);
21860            this.prevSeriesY.push(r.yArrj),
21861              (o.globals.seriesXvalues[a] = r.xArrj),
21862              (o.globals.seriesYvalues[a] = r.yArrj);
21863            var h = o.config.forecastDataPoints;
21864            if (h.count > 0 && "rangeArea" !== i) {
21865              var c =
21866                  o.globals.seriesXvalues[a][
21867                    o.globals.seriesXvalues[a].length - h.count - 1
21868                  ],
21869                d = n.drawRect(
21870                  c,
21871                  0,
21872                  o.globals.gridWidth,
21873                  o.globals.gridHeight,
21874                  0
21875                );
21876              o.globals.dom.elForecastMask.appendChild(d.node);
21877              var g = n.drawRect(0, 0, c, o.globals.gridHeight, 0);
21878              o.globals.dom.elNonForecastMask.appendChild(g.node);
21879            }
21880            this.pointsChart ||
21881              o.globals.delayedElements.push({
21882                el: this.elPointsMain.node,
21883                index: a,
21884              });
21885            var u = {
21886              i: s,
21887              realIndex: a,
21888              animationDelay: s,
21889              initialSpeed: o.config.chart.animations.speed,
21890              dataChangeSpeed: o.config.chart.animations.dynamicAnimation.speed,
21891              className: "apexcharts-".concat(i),
21892            };
21893            if ("area" === i)
21894              for (
21895                var p = l.fillPath({ seriesNumber: a }), f = 0;
21896                f < r.areaPaths.length;
21897                f++
21898              ) {
21899                var x = n.renderPaths(
21900                  e(
21901                    e({}, u),
21902                    {},
21903                    {
21904                      pathFrom: r.pathFromArea,
21905                      pathTo: r.areaPaths[f],
21906                      stroke: "none",
21907                      strokeWidth: 0,
21908                      strokeLineCap: null,
21909                      fill: p,
21910                    }
21911                  )
21912                );
21913                this.elSeries.add(x);
21914              }
21915            if (o.config.stroke.show && !this.pointsChart) {
21916              var b = null;
21917              if ("line" === i) b = l.fillPath({ seriesNumber: a, i: s });
21918              else if ("solid" === o.config.stroke.fill.type)
21919                b = o.globals.stroke.colors[a];
21920              else {
21921                var v = o.config.fill;
21922                (o.config.fill = o.config.stroke.fill),
21923                  (b = l.fillPath({ seriesNumber: a, i: s })),
21924                  (o.config.fill = v);
21925              }
21926              for (var y = 0; y < r.linePaths.length; y++) {
21927                var w = b;
21928                "rangeArea" === i && (w = l.fillPath({ seriesNumber: a }));
21929                var k = e(
21930                    e({}, u),
21931                    {},
21932                    {
21933                      pathFrom: r.pathFromLine,
21934                      pathTo: r.linePaths[y],
21935                      stroke: b,
21936                      strokeWidth: this.strokeWidth,
21937                      strokeLineCap: o.config.stroke.lineCap,
21938                      fill: "rangeArea" === i ? w : "none",
21939                    }
21940                  ),
21941                  A = n.renderPaths(k);
21942                if (
21943                  (this.elSeries.add(A),
21944                  A.attr("fill-rule", "evenodd"),
21945                  h.count > 0 && "rangeArea" !== i)
21946                ) {
21947                  var S = n.renderPaths(k);
21948                  S.node.setAttribute("stroke-dasharray", h.dashArray),
21949                    h.strokeWidth &&
21950                      S.node.setAttribute("stroke-width", h.strokeWidth),
21951                    this.elSeries.add(S),
21952                    S.attr(
21953                      "clip-path",
21954                      "url(#forecastMask".concat(o.globals.cuid, ")")
21955                    ),
21956                    A.attr(
21957                      "clip-path",
21958                      "url(#nonForecastMask".concat(o.globals.cuid, ")")
21959                    );
21960                }
21961              }
21962            }
21963          },
21964        },
21965        {
21966          key: "_iterateOverDataPoints",
21967          value: function (t) {
21968            var e,
21969              i = this,
21970              a = t.type,
21971              s = t.series,
21972              r = t.iterations,
21973              o = t.realIndex,
21974              n = t.i,
21975              l = t.x,
21976              h = t.y,
21977              c = t.pX,
21978              d = t.pY,
21979              g = t.pathsFrom,
21980              u = t.linePaths,
21981              p = t.areaPaths,
21982              f = t.seriesIndex,
21983              b = t.lineYPosition,
21984              v = t.xArrj,
21985              y = t.yArrj,
21986              w = t.y2Arrj,
21987              k = t.isRangeStart,
21988              A = t.seriesRangeEnd,
21989              S = this.w,
21990              C = new m(this.ctx),
21991              L = this.yRatio,
21992              P = g.prevY,
21993              I = g.linePath,
21994              M = g.areaPath,
21995              T = g.pathFromLine,
21996              z = g.pathFromArea,
21997              X = x.isNumber(S.globals.minYArr[o])
21998                ? S.globals.minYArr[o]
21999                : S.globals.minY;
22000            r ||
22001              (r =
22002                S.globals.dataPoints > 1
22003                  ? S.globals.dataPoints - 1
22004                  : S.globals.dataPoints);
22005            for (
22006              var E = function (t, e) {
22007                  return (
22008                    e -
22009                    t / L[i.yaxisIndex] +
22010                    2 * (i.isReversed ? t / L[i.yaxisIndex] : 0)
22011                  );
22012                },
22013                Y = h,
22014                F =
22015                  (S.config.chart.stacked && !S.globals.comboCharts) ||
22016                  (S.config.chart.stacked &&
22017                    S.globals.comboCharts &&
22018                    (!this.w.config.chart.stackOnlyBar ||
22019                      "bar" ===
22020                        (null === (e = this.w.config.series[o]) || void 0 === e
22021                          ? void 0
22022                          : e.type))),
22023                R = 0;
22024              R < r;
22025              R++
22026            ) {
22027              var H = void 0 === s[n][R + 1] || null === s[n][R + 1];
22028              if (S.globals.isXNumeric) {
22029                var D = S.globals.seriesX[o][R + 1];
22030                void 0 === S.globals.seriesX[o][R + 1] &&
22031                  (D = S.globals.seriesX[o][r - 1]),
22032                  (l = (D - S.globals.minX) / this.xRatio);
22033              } else l += this.xDivision;
22034              if (F)
22035                if (
22036                  n > 0 &&
22037                  S.globals.collapsedSeries.length < S.config.series.length - 1
22038                ) {
22039                  b =
22040                    this.prevSeriesY[
22041                      (function (t) {
22042                        for (var e = t, i = 0; i < S.globals.series.length; i++)
22043                          if (
22044                            S.globals.collapsedSeriesIndices.indexOf(t) > -1
22045                          ) {
22046                            e--;
22047                            break;
22048                          }
22049                        return e >= 0 ? e : 0;
22050                      })(n - 1)
22051                    ][R + 1];
22052                } else b = this.zeroY;
22053              else b = this.zeroY;
22054              H
22055                ? (h = E(X, b))
22056                : ((h = E(s[n][R + 1], b)),
22057                  "rangeArea" === a && (Y = E(A[n][R + 1], b))),
22058                v.push(l),
22059                H && "smooth" === S.config.stroke.curve
22060                  ? y.push(null)
22061                  : y.push(h),
22062                w.push(Y);
22063              var O = this.lineHelpers.calculatePoints({
22064                  series: s,
22065                  x: l,
22066                  y: h,
22067                  realIndex: o,
22068                  i: n,
22069                  j: R,
22070                  prevY: P,
22071                }),
22072                N = this._createPaths({
22073                  type: a,
22074                  series: s,
22075                  i: n,
22076                  realIndex: o,
22077                  j: R,
22078                  x: l,
22079                  y: h,
22080                  y2: Y,
22081                  xArrj: v,
22082                  yArrj: y,
22083                  y2Arrj: w,
22084                  pX: c,
22085                  pY: d,
22086                  linePath: I,
22087                  areaPath: M,
22088                  linePaths: u,
22089                  areaPaths: p,
22090                  seriesIndex: f,
22091                  isRangeStart: k,
22092                });
22093              (p = N.areaPaths),
22094                (u = N.linePaths),
22095                (c = N.pX),
22096                (d = N.pY),
22097                (M = N.areaPath),
22098                (I = N.linePath),
22099                !this.appendPathFrom ||
22100                  ("monotoneCubic" === S.config.stroke.curve &&
22101                    "rangeArea" === a) ||
22102                  ((T += C.line(l, this.zeroY)), (z += C.line(l, this.zeroY))),
22103                this.handleNullDataPoints(s, O, n, R, o),
22104                this._handleMarkersAndLabels({
22105                  type: a,
22106                  pointsPos: O,
22107                  i: n,
22108                  j: R,
22109                  realIndex: o,
22110                  isRangeStart: k,
22111                });
22112            }
22113            return {
22114              yArrj: y,
22115              xArrj: v,
22116              pathFromArea: z,
22117              areaPaths: p,
22118              pathFromLine: T,
22119              linePaths: u,
22120              linePath: I,
22121              areaPath: M,
22122            };
22123          },
22124        },
22125        {
22126          key: "_handleMarkersAndLabels",
22127          value: function (t) {
22128            var e = t.type,
22129              i = t.pointsPos,
22130              a = t.isRangeStart,
22131              s = t.i,
22132              r = t.j,
22133              o = t.realIndex,
22134              n = this.w,
22135              l = new O(this.ctx);
22136            if (this.pointsChart)
22137              this.scatter.draw(this.elSeries, r, {
22138                realIndex: o,
22139                pointsPos: i,
22140                zRatio: this.zRatio,
22141                elParent: this.elPointsMain,
22142              });
22143            else {
22144              n.globals.series[s].length > 1 &&
22145                this.elPointsMain.node.classList.add(
22146                  "apexcharts-element-hidden"
22147                );
22148              var h = this.markers.plotChartMarkers(i, o, r + 1);
22149              null !== h && this.elPointsMain.add(h);
22150            }
22151            var c = l.drawDataLabel({
22152              type: e,
22153              isRangeStart: a,
22154              pos: i,
22155              i: o,
22156              j: r + 1,
22157            });
22158            null !== c && this.elDataLabelsWrap.add(c);
22159          },
22160        },
22161        {
22162          key: "_createPaths",
22163          value: function (t) {
22164            var e = t.type,
22165              i = t.series,
22166              a = t.i,
22167              s = t.realIndex,
22168              r = t.j,
22169              o = t.x,
22170              n = t.y,
22171              l = t.xArrj,
22172              h = t.yArrj,
22173              c = t.y2,
22174              d = t.y2Arrj,
22175              g = t.pX,
22176              u = t.pY,
22177              p = t.linePath,
22178              f = t.areaPath,
22179              x = t.linePaths,
22180              b = t.areaPaths,
22181              v = t.seriesIndex,
22182              y = t.isRangeStart,
22183              w = this.w,
22184              k = new m(this.ctx),
22185              A = w.config.stroke.curve,
22186              S = this.areaBottomY;
22187            if (
22188              (Array.isArray(w.config.stroke.curve) &&
22189                (A = Array.isArray(v)
22190                  ? w.config.stroke.curve[v[a]]
22191                  : w.config.stroke.curve[a]),
22192              "rangeArea" === e &&
22193                (w.globals.hasNullValues ||
22194                  w.config.forecastDataPoints.count > 0) &&
22195                "monotoneCubic" === A &&
22196                (A = "straight"),
22197              "monotoneCubic" === A)
22198            ) {
22199              var C =
22200                  "rangeArea" === e
22201                    ? l.length === w.globals.dataPoints
22202                    : r === i[a].length - 2,
22203                L = l
22204                  .map(function (t, e) {
22205                    return [l[e], h[e]];
22206                  })
22207                  .filter(function (t) {
22208                    return null !== t[1];
22209                  });
22210              if (C && L.length > 1) {
22211                var P = Et(L);
22212                if (
22213                  ((p += Xt(P)),
22214                  null === i[a][0] ? (f = p) : (f += Xt(P)),
22215                  "rangeArea" === e && y)
22216                ) {
22217                  p += k.line(l[l.length - 1], d[d.length - 1]);
22218                  var I = l.slice().reverse(),
22219                    M = d.slice().reverse(),
22220                    T = I.map(function (t, e) {
22221                      return [I[e], M[e]];
22222                    }),
22223                    z = Et(T);
22224                  f = p += Xt(z);
22225                } else
22226                  f +=
22227                    k.line(L[L.length - 1][0], S) +
22228                    k.line(L[0][0], S) +
22229                    k.move(L[0][0], L[0][1]) +
22230                    "z";
22231                x.push(p), b.push(f);
22232              }
22233            } else if ("smooth" === A) {
22234              var X = 0.35 * (o - g);
22235              w.globals.hasNullValues
22236                ? (null !== i[a][r] &&
22237                    (null !== i[a][r + 1]
22238                      ? ((p =
22239                          k.move(g, u) + k.curve(g + X, u, o - X, n, o + 1, n)),
22240                        (f =
22241                          k.move(g + 1, u) +
22242                          k.curve(g + X, u, o - X, n, o + 1, n) +
22243                          k.line(o, S) +
22244                          k.line(g, S) +
22245                          "z"))
22246                      : ((p = k.move(g, u)), (f = k.move(g, u) + "z"))),
22247                  x.push(p),
22248                  b.push(f))
22249                : ((p += k.curve(g + X, u, o - X, n, o, n)),
22250                  (f += k.curve(g + X, u, o - X, n, o, n))),
22251                (g = o),
22252                (u = n),
22253                r === i[a].length - 2 &&
22254                  ((f = f + k.curve(g, u, o, n, o, S) + k.move(o, n) + "z"),
22255                  "rangeArea" === e && y
22256                    ? (p = p + k.curve(g, u, o, n, o, c) + k.move(o, c) + "z")
22257                    : w.globals.hasNullValues || (x.push(p), b.push(f)));
22258            } else {
22259              if (null === i[a][r + 1]) {
22260                p += k.move(o, n);
22261                var E = w.globals.isXNumeric
22262                  ? (w.globals.seriesX[s][r] - w.globals.minX) / this.xRatio
22263                  : o - this.xDivision;
22264                f = f + k.line(E, S) + k.move(o, n) + "z";
22265              }
22266              null === i[a][r] && ((p += k.move(o, n)), (f += k.move(o, S))),
22267                "stepline" === A
22268                  ? ((p = p + k.line(o, null, "H") + k.line(null, n, "V")),
22269                    (f = f + k.line(o, null, "H") + k.line(null, n, "V")))
22270                  : "straight" === A &&
22271                    ((p += k.line(o, n)), (f += k.line(o, n))),
22272                r === i[a].length - 2 &&
22273                  ((f = f + k.line(o, S) + k.move(o, n) + "z"),
22274                  "rangeArea" === e && y
22275                    ? (p = p + k.line(o, c) + k.move(o, c) + "z")
22276                    : (x.push(p), b.push(f)));
22277            }
22278            return {
22279              linePaths: x,
22280              areaPaths: b,
22281              pX: g,
22282              pY: u,
22283              linePath: p,
22284              areaPath: f,
22285            };
22286          },
22287        },
22288        {
22289          key: "handleNullDataPoints",
22290          value: function (t, e, i, a, s) {
22291            var r = this.w;
22292            if (
22293              (null === t[i][a] && r.config.markers.showNullDataPoints) ||
22294              1 === t[i].length
22295            ) {
22296              var o = this.markers.plotChartMarkers(
22297                e,
22298                s,
22299                a + 1,
22300                this.strokeWidth - r.config.markers.strokeWidth / 2,
22301                !0
22302              );
22303              null !== o && this.elPointsMain.add(o);
22304            }
22305          },
22306        },
22307      ]),
22308      t
22309    );
22310  })();
22311  (window.TreemapSquared = {}),
22312    (window.TreemapSquared.generate = (function () {
22313      function t(e, i, a, s) {
22314        (this.xoffset = e),
22315          (this.yoffset = i),
22316          (this.height = s),
22317          (this.width = a),
22318          (this.shortestEdge = function () {
22319            return Math.min(this.height, this.width);
22320          }),
22321          (this.getCoordinates = function (t) {
22322            var e,
22323              i = [],
22324              a = this.xoffset,
22325              s = this.yoffset,
22326              o = r(t) / this.height,
22327              n = r(t) / this.width;
22328            if (this.width >= this.height)
22329              for (e = 0; e < t.length; e++)
22330                i.push([a, s, a + o, s + t[e] / o]), (s += t[e] / o);
22331            else
22332              for (e = 0; e < t.length; e++)
22333                i.push([a, s, a + t[e] / n, s + n]), (a += t[e] / n);
22334            return i;
22335          }),
22336          (this.cutArea = function (e) {
22337            var i;
22338            if (this.width >= this.height) {
22339              var a = e / this.height,
22340                s = this.width - a;
22341              i = new t(this.xoffset + a, this.yoffset, s, this.height);
22342            } else {
22343              var r = e / this.width,
22344                o = this.height - r;
22345              i = new t(this.xoffset, this.yoffset + r, this.width, o);
22346            }
22347            return i;
22348          });
22349      }
22350      function e(e, a, s, o, n) {
22351        (o = void 0 === o ? 0 : o), (n = void 0 === n ? 0 : n);
22352        var l = i(
22353          (function (t, e) {
22354            var i,
22355              a = [],
22356              s = e / r(t);
22357            for (i = 0; i < t.length; i++) a[i] = t[i] * s;
22358            return a;
22359          })(e, a * s),
22360          [],
22361          new t(o, n, a, s),
22362          []
22363        );
22364        return (function (t) {
22365          var e,
22366            i,
22367            a = [];
22368          for (e = 0; e < t.length; e++)
22369            for (i = 0; i < t[e].length; i++) a.push(t[e][i]);
22370          return a;
22371        })(l);
22372      }
22373      function i(t, e, s, o) {
22374        var n, l, h;
22375        if (0 !== t.length)
22376          return (
22377            (n = s.shortestEdge()),
22378            (function (t, e, i) {
22379              var s;
22380              if (0 === t.length) return !0;
22381              (s = t.slice()).push(e);
22382              var r = a(t, i),
22383                o = a(s, i);
22384              return r >= o;
22385            })(e, (l = t[0]), n)
22386              ? (e.push(l), i(t.slice(1), e, s, o))
22387              : ((h = s.cutArea(r(e), o)),
22388                o.push(s.getCoordinates(e)),
22389                i(t, [], h, o)),
22390            o
22391          );
22392        o.push(s.getCoordinates(e));
22393      }
22394      function a(t, e) {
22395        var i = Math.min.apply(Math, t),
22396          a = Math.max.apply(Math, t),
22397          s = r(t);
22398        return Math.max(
22399          (Math.pow(e, 2) * a) / Math.pow(s, 2),
22400          Math.pow(s, 2) / (Math.pow(e, 2) * i)
22401        );
22402      }
22403      function s(t) {
22404        return t && t.constructor === Array;
22405      }
22406      function r(t) {
22407        var e,
22408          i = 0;
22409        for (e = 0; e < t.length; e++) i += t[e];
22410        return i;
22411      }
22412      function o(t) {
22413        var e,
22414          i = 0;
22415        if (s(t[0])) for (e = 0; e < t.length; e++) i += o(t[e]);
22416        else i = r(t);
22417        return i;
22418      }
22419      return function t(i, a, r, n, l) {
22420        (n = void 0 === n ? 0 : n), (l = void 0 === l ? 0 : l);
22421        var h,
22422          c,
22423          d = [],
22424          g = [];
22425        if (s(i[0])) {
22426          for (c = 0; c < i.length; c++) d[c] = o(i[c]);
22427          for (h = e(d, a, r, n, l), c = 0; c < i.length; c++)
22428            g.push(
22429              t(i[c], h[c][2] - h[c][0], h[c][3] - h[c][1], h[c][0], h[c][1])
22430            );
22431        } else g = e(i, a, r, n, l);
22432        return g;
22433      };
22434    })());
22435  var Rt,
22436    Ht,
22437    Dt = (function () {
22438      function t(e, i) {
22439        a(this, t),
22440          (this.ctx = e),
22441          (this.w = e.w),
22442          (this.strokeWidth = this.w.config.stroke.width),
22443          (this.helpers = new At(e)),
22444          (this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation),
22445          (this.labels = []);
22446      }
22447      return (
22448        r(t, [
22449          {
22450            key: "draw",
22451            value: function (t) {
22452              var e = this,
22453                i = this.w,
22454                a = new m(this.ctx),
22455                s = new R(this.ctx),
22456                r = a.group({ class: "apexcharts-treemap" });
22457              if (i.globals.noData) return r;
22458              var o = [];
22459              return (
22460                t.forEach(function (t) {
22461                  var e = t.map(function (t) {
22462                    return Math.abs(t);
22463                  });
22464                  o.push(e);
22465                }),
22466                (this.negRange = this.helpers.checkColorRange()),
22467                i.config.series.forEach(function (t, i) {
22468                  t.data.forEach(function (t) {
22469                    Array.isArray(e.labels[i]) || (e.labels[i] = []),
22470                      e.labels[i].push(t.x);
22471                  });
22472                }),
22473                window.TreemapSquared.generate(
22474                  o,
22475                  i.globals.gridWidth,
22476                  i.globals.gridHeight
22477                ).forEach(function (o, n) {
22478                  var l = a.group({
22479                    class: "apexcharts-series apexcharts-treemap-series",
22480                    seriesName: x.escapeString(i.globals.seriesNames[n]),
22481                    rel: n + 1,
22482                    "data:realIndex": n,
22483                  });
22484                  if (i.config.chart.dropShadow.enabled) {
22485                    var h = i.config.chart.dropShadow;
22486                    new v(e.ctx).dropShadow(r, h, n);
22487                  }
22488                  var c = a.group({ class: "apexcharts-data-labels" });
22489                  o.forEach(function (r, o) {
22490                    var h = r[0],
22491                      c = r[1],
22492                      d = r[2],
22493                      g = r[3],
22494                      u = a.drawRect(
22495                        h,
22496                        c,
22497                        d - h,
22498                        g - c,
22499                        i.config.plotOptions.treemap.borderRadius,
22500                        "#fff",
22501                        1,
22502                        e.strokeWidth,
22503                        i.config.plotOptions.treemap.useFillColorAsStroke
22504                          ? f
22505                          : i.globals.stroke.colors[n]
22506                      );
22507                    u.attr({
22508                      cx: h,
22509                      cy: c,
22510                      index: n,
22511                      i: n,
22512                      j: o,
22513                      width: d - h,
22514                      height: g - c,
22515                    });
22516                    var p = e.helpers.getShadeColor(
22517                        i.config.chart.type,
22518                        n,
22519                        o,
22520                        e.negRange
22521                      ),
22522                      f = p.color;
22523                    void 0 !== i.config.series[n].data[o] &&
22524                      i.config.series[n].data[o].fillColor &&
22525                      (f = i.config.series[n].data[o].fillColor);
22526                    var x = s.fillPath({
22527                      color: f,
22528                      seriesNumber: n,
22529                      dataPointIndex: o,
22530                    });
22531                    u.node.classList.add("apexcharts-treemap-rect"),
22532                      u.attr({ fill: x }),
22533                      e.helpers.addListeners(u);
22534                    var b = {
22535                        x: h + (d - h) / 2,
22536                        y: c + (g - c) / 2,
22537                        width: 0,
22538                        height: 0,
22539                      },
22540                      v = { x: h, y: c, width: d - h, height: g - c };
22541                    if (
22542                      i.config.chart.animations.enabled &&
22543                      !i.globals.dataChanged
22544                    ) {
22545                      var m = 1;
22546                      i.globals.resized ||
22547                        (m = i.config.chart.animations.speed),
22548                        e.animateTreemap(u, b, v, m);
22549                    }
22550                    if (i.globals.dataChanged) {
22551                      var y = 1;
22552                      e.dynamicAnim.enabled &&
22553                        i.globals.shouldAnimate &&
22554                        ((y = e.dynamicAnim.speed),
22555                        i.globals.previousPaths[n] &&
22556                          i.globals.previousPaths[n][o] &&
22557                          i.globals.previousPaths[n][o].rect &&
22558                          (b = i.globals.previousPaths[n][o].rect),
22559                        e.animateTreemap(u, b, v, y));
22560                    }
22561                    var w = e.getFontSize(r),
22562                      k = i.config.dataLabels.formatter(e.labels[n][o], {
22563                        value: i.globals.series[n][o],
22564                        seriesIndex: n,
22565                        dataPointIndex: o,
22566                        w: i,
22567                      });
22568                    "truncate" ===
22569                      i.config.plotOptions.treemap.dataLabels.format &&
22570                      ((w = parseInt(i.config.dataLabels.style.fontSize, 10)),
22571                      (k = e.truncateLabels(k, w, h, c, d, g)));
22572                    var A = e.helpers.calculateDataLabels({
22573                      text: k,
22574                      x: (h + d) / 2,
22575                      y: (c + g) / 2 + e.strokeWidth / 2 + w / 3,
22576                      i: n,
22577                      j: o,
22578                      colorProps: p,
22579                      fontSize: w,
22580                      series: t,
22581                    });
22582                    i.config.dataLabels.enabled &&
22583                      A &&
22584                      e.rotateToFitLabel(A, w, k, h, c, d, g),
22585                      l.add(u),
22586                      null !== A && l.add(A);
22587                  }),
22588                    l.add(c),
22589                    r.add(l);
22590                }),
22591                r
22592              );
22593            },
22594          },
22595          {
22596            key: "getFontSize",
22597            value: function (t) {
22598              var e = this.w;
22599              var i,
22600                a,
22601                s,
22602                r,
22603                o =
22604                  (function t(e) {
22605                    var i,
22606                      a = 0;
22607                    if (Array.isArray(e[0]))
22608                      for (i = 0; i < e.length; i++) a += t(e[i]);
22609                    else for (i = 0; i < e.length; i++) a += e[i].length;
22610                    return a;
22611                  })(this.labels) /
22612                  (function t(e) {
22613                    var i,
22614                      a = 0;
22615                    if (Array.isArray(e[0]))
22616                      for (i = 0; i < e.length; i++) a += t(e[i]);
22617                    else for (i = 0; i < e.length; i++) a += 1;
22618                    return a;
22619                  })(this.labels);
22620              return (
22621                (i = t[2] - t[0]),
22622                (a = t[3] - t[1]),
22623                (s = i * a),
22624                (r = Math.pow(s, 0.5)),
22625                Math.min(
22626                  r / o,
22627                  parseInt(e.config.dataLabels.style.fontSize, 10)
22628                )
22629              );
22630            },
22631          },
22632          {
22633            key: "rotateToFitLabel",
22634            value: function (t, e, i, a, s, r, o) {
22635              var n = new m(this.ctx),
22636                l = n.getTextRects(i, e);
22637              if (
22638                l.width + this.w.config.stroke.width + 5 > r - a &&
22639                l.width <= o - s
22640              ) {
22641                var h = n.rotateAroundCenter(t.node);
22642                t.node.setAttribute(
22643                  "transform",
22644                  "rotate(-90 "
22645                    .concat(h.x, " ")
22646                    .concat(h.y, ") translate(")
22647                    .concat(l.height / 3, ")")
22648                );
22649              }
22650            },
22651          },
22652          {
22653            key: "truncateLabels",
22654            value: function (t, e, i, a, s, r) {
22655              var o = new m(this.ctx),
22656                n =
22657                  o.getTextRects(t, e).width + this.w.config.stroke.width + 5 >
22658                    s - i && r - a > s - i
22659                    ? r - a
22660                    : s - i,
22661                l = o.getTextBasedOnMaxWidth({
22662                  text: t,
22663                  maxWidth: n,
22664                  fontSize: e,
22665                });
22666              return t.length !== l.length && n / e < 5 ? "" : l;
22667            },
22668          },
22669          {
22670            key: "animateTreemap",
22671            value: function (t, e, i, a) {
22672              var s = new b(this.ctx);
22673              s.animateRect(
22674                t,
22675                { x: e.x, y: e.y, width: e.width, height: e.height },
22676                { x: i.x, y: i.y, width: i.width, height: i.height },
22677                a,
22678                function () {
22679                  s.animationCompleted(t);
22680                }
22681              );
22682            },
22683          },
22684        ]),
22685        t
22686      );
22687    })(),
22688    Ot = 86400,
22689    Nt = (function () {
22690      function t(e) {
22691        a(this, t),
22692          (this.ctx = e),
22693          (this.w = e.w),
22694          (this.timeScaleArray = []),
22695          (this.utc = this.w.config.xaxis.labels.datetimeUTC);
22696      }
22697      return (
22698        r(t, [
22699          {
22700            key: "calculateTimeScaleTicks",
22701            value: function (t, i) {
22702              var a = this,
22703                s = this.w;
22704              if (s.globals.allSeriesCollapsed)
22705                return (
22706                  (s.globals.labels = []), (s.globals.timescaleLabels = []), []
22707                );
22708              var r = new I(this.ctx),
22709                o = (i - t) / 864e5;
22710              this.determineInterval(o),
22711                (s.globals.disableZoomIn = !1),
22712                (s.globals.disableZoomOut = !1),
22713                o < 0.00011574074074074075
22714                  ? (s.globals.disableZoomIn = !0)
22715                  : o > 5e4 && (s.globals.disableZoomOut = !0);
22716              var n = r.getTimeUnitsfromTimestamp(t, i, this.utc),
22717                l = s.globals.gridWidth / o,
22718                h = l / 24,
22719                c = h / 60,
22720                d = c / 60,
22721                g = Math.floor(24 * o),
22722                u = Math.floor(1440 * o),
22723                p = Math.floor(o * Ot),
22724                f = Math.floor(o),
22725                x = Math.floor(o / 30),
22726                b = Math.floor(o / 365),
22727                v = {
22728                  minMillisecond: n.minMillisecond,
22729                  minSecond: n.minSecond,
22730                  minMinute: n.minMinute,
22731                  minHour: n.minHour,
22732                  minDate: n.minDate,
22733                  minMonth: n.minMonth,
22734                  minYear: n.minYear,
22735                },
22736                m = {
22737                  firstVal: v,
22738                  currentMillisecond: v.minMillisecond,
22739                  currentSecond: v.minSecond,
22740                  currentMinute: v.minMinute,
22741                  currentHour: v.minHour,
22742                  currentMonthDate: v.minDate,
22743                  currentDate: v.minDate,
22744                  currentMonth: v.minMonth,
22745                  currentYear: v.minYear,
22746                  daysWidthOnXAxis: l,
22747                  hoursWidthOnXAxis: h,
22748                  minutesWidthOnXAxis: c,
22749                  secondsWidthOnXAxis: d,
22750                  numberOfSeconds: p,
22751                  numberOfMinutes: u,
22752                  numberOfHours: g,
22753                  numberOfDays: f,
22754                  numberOfMonths: x,
22755                  numberOfYears: b,
22756                };
22757              switch (this.tickInterval) {
22758                case "years":
22759                  this.generateYearScale(m);
22760                  break;
22761                case "months":
22762                case "half_year":
22763                  this.generateMonthScale(m);
22764                  break;
22765                case "months_days":
22766                case "months_fortnight":
22767                case "days":
22768                case "week_days":
22769                  this.generateDayScale(m);
22770                  break;
22771                case "hours":
22772                  this.generateHourScale(m);
22773                  break;
22774                case "minutes_fives":
22775                case "minutes":
22776                  this.generateMinuteScale(m);
22777                  break;
22778                case "seconds_tens":
22779                case "seconds_fives":
22780                case "seconds":
22781                  this.generateSecondScale(m);
22782              }
22783              var y = this.timeScaleArray.map(function (t) {
22784                var i = {
22785                  position: t.position,
22786                  unit: t.unit,
22787                  year: t.year,
22788                  day: t.day ? t.day : 1,
22789                  hour: t.hour ? t.hour : 0,
22790                  month: t.month + 1,
22791                };
22792                return "month" === t.unit
22793                  ? e(e({}, i), {}, { day: 1, value: t.value + 1 })
22794                  : "day" === t.unit || "hour" === t.unit
22795                  ? e(e({}, i), {}, { value: t.value })
22796                  : "minute" === t.unit
22797                  ? e(e({}, i), {}, { value: t.value, minute: t.value })
22798                  : "second" === t.unit
22799                  ? e(
22800                      e({}, i),
22801                      {},
22802                      { value: t.value, minute: t.minute, second: t.second }
22803                    )
22804                  : t;
22805              });
22806              return y.filter(function (t) {
22807                var e = 1,
22808                  i = Math.ceil(s.globals.gridWidth / 120),
22809                  r = t.value;
22810                void 0 !== s.config.xaxis.tickAmount &&
22811                  (i = s.config.xaxis.tickAmount),
22812                  y.length > i && (e = Math.floor(y.length / i));
22813                var o = !1,
22814                  n = !1;
22815                switch (a.tickInterval) {
22816                  case "years":
22817                    "year" === t.unit && (o = !0);
22818                    break;
22819                  case "half_year":
22820                    (e = 7), "year" === t.unit && (o = !0);
22821                    break;
22822                  case "months":
22823                    (e = 1), "year" === t.unit && (o = !0);
22824                    break;
22825                  case "months_fortnight":
22826                    (e = 15),
22827                      ("year" !== t.unit && "month" !== t.unit) || (o = !0),
22828                      30 === r && (n = !0);
22829                    break;
22830                  case "months_days":
22831                    (e = 10),
22832                      "month" === t.unit && (o = !0),
22833                      30 === r && (n = !0);
22834                    break;
22835                  case "week_days":
22836                    (e = 8), "month" === t.unit && (o = !0);
22837                    break;
22838                  case "days":
22839                    (e = 1), "month" === t.unit && (o = !0);
22840                    break;
22841                  case "hours":
22842                    "day" === t.unit && (o = !0);
22843                    break;
22844                  case "minutes_fives":
22845                  case "seconds_fives":
22846                    r % 5 != 0 && (n = !0);
22847                    break;
22848                  case "seconds_tens":
22849                    r % 10 != 0 && (n = !0);
22850                }
22851                if (
22852                  "hours" === a.tickInterval ||
22853                  "minutes_fives" === a.tickInterval ||
22854                  "seconds_tens" === a.tickInterval ||
22855                  "seconds_fives" === a.tickInterval
22856                ) {
22857                  if (!n) return !0;
22858                } else if ((r % e == 0 || o) && !n) return !0;
22859              });
22860            },
22861          },
22862          {
22863            key: "recalcDimensionsBasedOnFormat",
22864            value: function (t, e) {
22865              var i = this.w,
22866                a = this.formatDates(t),
22867                s = this.removeOverlappingTS(a);
22868              (i.globals.timescaleLabels = s.slice()),
22869                new ot(this.ctx).plotCoords();
22870            },
22871          },
22872          {
22873            key: "determineInterval",
22874            value: function (t) {
22875              var e = 24 * t,
22876                i = 60 * e;
22877              switch (!0) {
22878                case t / 365 > 5:
22879                  this.tickInterval = "years";
22880                  break;
22881                case t > 800:
22882                  this.tickInterval = "half_year";
22883                  break;
22884                case t > 180:
22885                  this.tickInterval = "months";
22886                  break;
22887                case t > 90:
22888                  this.tickInterval = "months_fortnight";
22889                  break;
22890                case t > 60:
22891                  this.tickInterval = "months_days";
22892                  break;
22893                case t > 30:
22894                  this.tickInterval = "week_days";
22895                  break;
22896                case t > 2:
22897                  this.tickInterval = "days";
22898                  break;
22899                case e > 2.4:
22900                  this.tickInterval = "hours";
22901                  break;
22902                case i > 15:
22903                  this.tickInterval = "minutes_fives";
22904                  break;
22905                case i > 5:
22906                  this.tickInterval = "minutes";
22907                  break;
22908                case i > 1:
22909                  this.tickInterval = "seconds_tens";
22910                  break;
22911                case 60 * i > 20:
22912                  this.tickInterval = "seconds_fives";
22913                  break;
22914                default:
22915                  this.tickInterval = "seconds";
22916              }
22917            },
22918          },
22919          {
22920            key: "generateYearScale",
22921            value: function (t) {
22922              var e = t.firstVal,
22923                i = t.currentMonth,
22924                a = t.currentYear,
22925                s = t.daysWidthOnXAxis,
22926                r = t.numberOfYears,
22927                o = e.minYear,
22928                n = 0,
22929                l = new I(this.ctx),
22930                h = "year";
22931              if (e.minDate > 1 || e.minMonth > 0) {
22932                var c = l.determineRemainingDaysOfYear(
22933                  e.minYear,
22934                  e.minMonth,
22935                  e.minDate
22936                );
22937                (n = (l.determineDaysOfYear(e.minYear) - c + 1) * s),
22938                  (o = e.minYear + 1),
22939                  this.timeScaleArray.push({
22940                    position: n,
22941                    value: o,
22942                    unit: h,
22943                    year: o,
22944                    month: x.monthMod(i + 1),
22945                  });
22946              } else
22947                1 === e.minDate &&
22948                  0 === e.minMonth &&
22949                  this.timeScaleArray.push({
22950                    position: n,
22951                    value: o,
22952                    unit: h,
22953                    year: a,
22954                    month: x.monthMod(i + 1),
22955                  });
22956              for (var d = o, g = n, u = 0; u < r; u++)
22957                d++,
22958                  (g = l.determineDaysOfYear(d - 1) * s + g),
22959                  this.timeScaleArray.push({
22960                    position: g,
22961                    value: d,
22962                    unit: h,
22963                    year: d,
22964                    month: 1,
22965                  });
22966            },
22967          },
22968          {
22969            key: "generateMonthScale",
22970            value: function (t) {
22971              var e = t.firstVal,
22972                i = t.currentMonthDate,
22973                a = t.currentMonth,
22974                s = t.currentYear,
22975                r = t.daysWidthOnXAxis,
22976                o = t.numberOfMonths,
22977                n = a,
22978                l = 0,
22979                h = new I(this.ctx),
22980                c = "month",
22981                d = 0;
22982              if (e.minDate > 1) {
22983                (l = (h.determineDaysOfMonths(a + 1, e.minYear) - i + 1) * r),
22984                  (n = x.monthMod(a + 1));
22985                var g = s + d,
22986                  u = x.monthMod(n),
22987                  p = n;
22988                0 === n && ((c = "year"), (p = g), (u = 1), (g += d += 1)),
22989                  this.timeScaleArray.push({
22990                    position: l,
22991                    value: p,
22992                    unit: c,
22993                    year: g,
22994                    month: u,
22995                  });
22996              } else
22997                this.timeScaleArray.push({
22998                  position: l,
22999                  value: n,
23000                  unit: c,
23001                  year: s,
23002                  month: x.monthMod(a),
23003                });
23004              for (var f = n + 1, b = l, v = 0, m = 1; v < o; v++, m++) {
23005                0 === (f = x.monthMod(f))
23006                  ? ((c = "year"), (d += 1))
23007                  : (c = "month");
23008                var y = this._getYear(s, f, d);
23009                b = h.determineDaysOfMonths(f, y) * r + b;
23010                var w = 0 === f ? y : f;
23011                this.timeScaleArray.push({
23012                  position: b,
23013                  value: w,
23014                  unit: c,
23015                  year: y,
23016                  month: 0 === f ? 1 : f,
23017                }),
23018                  f++;
23019              }
23020            },
23021          },
23022          {
23023            key: "generateDayScale",
23024            value: function (t) {
23025              var e = t.firstVal,
23026                i = t.currentMonth,
23027                a = t.currentYear,
23028                s = t.hoursWidthOnXAxis,
23029                r = t.numberOfDays,
23030                o = new I(this.ctx),
23031                n = "day",
23032                l = e.minDate + 1,
23033                h = l,
23034                c = function (t, e, i) {
23035                  return t > o.determineDaysOfMonths(e + 1, i)
23036                    ? ((h = 1), (n = "month"), (g = e += 1), e)
23037                    : e;
23038                },
23039                d = (24 - e.minHour) * s,
23040                g = l,
23041                u = c(h, i, a);
23042              0 === e.minHour && 1 === e.minDate
23043                ? ((d = 0),
23044                  (g = x.monthMod(e.minMonth)),
23045                  (n = "month"),
23046                  (h = e.minDate))
23047                : 1 !== e.minDate &&
23048                  0 === e.minHour &&
23049                  0 === e.minMinute &&
23050                  ((d = 0), (l = e.minDate), (g = l), (u = c((h = l), i, a))),
23051                this.timeScaleArray.push({
23052                  position: d,
23053                  value: g,
23054                  unit: n,
23055                  year: this._getYear(a, u, 0),
23056                  month: x.monthMod(u),
23057                  day: h,
23058                });
23059              for (var p = d, f = 0; f < r; f++) {
23060                (n = "day"), (u = c((h += 1), u, this._getYear(a, u, 0)));
23061                var b = this._getYear(a, u, 0);
23062                p = 24 * s + p;
23063                var v = 1 === h ? x.monthMod(u) : h;
23064                this.timeScaleArray.push({
23065                  position: p,
23066                  value: v,
23067                  unit: n,
23068                  year: b,
23069                  month: x.monthMod(u),
23070                  day: v,
23071                });
23072              }
23073            },
23074          },
23075          {
23076            key: "generateHourScale",
23077            value: function (t) {
23078              var e = t.firstVal,
23079                i = t.currentDate,
23080                a = t.currentMonth,
23081                s = t.currentYear,
23082                r = t.minutesWidthOnXAxis,
23083                o = t.numberOfHours,
23084                n = new I(this.ctx),
23085                l = "hour",
23086                h = function (t, e) {
23087                  return (
23088                    t > n.determineDaysOfMonths(e + 1, s) &&
23089                      ((f = 1), (e += 1)),
23090                    { month: e, date: f }
23091                  );
23092                },
23093                c = function (t, e) {
23094                  return t > n.determineDaysOfMonths(e + 1, s) ? (e += 1) : e;
23095                },
23096                d = 60 - (e.minMinute + e.minSecond / 60),
23097                g = d * r,
23098                u = e.minHour + 1,
23099                p = u;
23100              60 === d && ((g = 0), (p = u = e.minHour));
23101              var f = i;
23102              p >= 24 && ((p = 0), (f += 1), (l = "day"));
23103              var b = h(f, a).month;
23104              (b = c(f, b)),
23105                this.timeScaleArray.push({
23106                  position: g,
23107                  value: u,
23108                  unit: l,
23109                  day: f,
23110                  hour: p,
23111                  year: s,
23112                  month: x.monthMod(b),
23113                }),
23114                p++;
23115              for (var v = g, m = 0; m < o; m++) {
23116                if (((l = "hour"), p >= 24))
23117                  (p = 0),
23118                    (l = "day"),
23119                    (b = h((f += 1), b).month),
23120                    (b = c(f, b));
23121                var y = this._getYear(s, b, 0);
23122                v = 60 * r + v;
23123                var w = 0 === p ? f : p;
23124                this.timeScaleArray.push({
23125                  position: v,
23126                  value: w,
23127                  unit: l,
23128                  hour: p,
23129                  day: f,
23130                  year: y,
23131                  month: x.monthMod(b),
23132                }),
23133                  p++;
23134              }
23135            },
23136          },
23137          {
23138            key: "generateMinuteScale",
23139            value: function (t) {
23140              for (
23141                var e = t.currentMillisecond,
23142                  i = t.currentSecond,
23143                  a = t.currentMinute,
23144                  s = t.currentHour,
23145                  r = t.currentDate,
23146                  o = t.currentMonth,
23147                  n = t.currentYear,
23148                  l = t.minutesWidthOnXAxis,
23149                  h = t.secondsWidthOnXAxis,
23150                  c = t.numberOfMinutes,
23151                  d = a + 1,
23152                  g = r,
23153                  u = o,
23154                  p = n,
23155                  f = s,
23156                  b = (60 - i - e / 1e3) * h,
23157                  v = 0;
23158                v < c;
23159                v++
23160              )
23161                d >= 60 && ((d = 0), 24 === (f += 1) && (f = 0)),
23162                  this.timeScaleArray.push({
23163                    position: b,
23164                    value: d,
23165                    unit: "minute",
23166                    hour: f,
23167                    minute: d,
23168                    day: g,
23169                    year: this._getYear(p, u, 0),
23170                    month: x.monthMod(u),
23171                  }),
23172                  (b += l),
23173                  d++;
23174            },
23175          },
23176          {
23177            key: "generateSecondScale",
23178            value: function (t) {
23179              for (
23180                var e = t.currentMillisecond,
23181                  i = t.currentSecond,
23182                  a = t.currentMinute,
23183                  s = t.currentHour,
23184                  r = t.currentDate,
23185                  o = t.currentMonth,
23186                  n = t.currentYear,
23187                  l = t.secondsWidthOnXAxis,
23188                  h = t.numberOfSeconds,
23189                  c = i + 1,
23190                  d = a,
23191                  g = r,
23192                  u = o,
23193                  p = n,
23194                  f = s,
23195                  b = ((1e3 - e) / 1e3) * l,
23196                  v = 0;
23197                v < h;
23198                v++
23199              )
23200                c >= 60 &&
23201                  ((c = 0), ++d >= 60 && ((d = 0), 24 === ++f && (f = 0))),
23202                  this.timeScaleArray.push({
23203                    position: b,
23204                    value: c,
23205                    unit: "second",
23206                    hour: f,
23207                    minute: d,
23208                    second: c,
23209                    day: g,
23210                    year: this._getYear(p, u, 0),
23211                    month: x.monthMod(u),
23212                  }),
23213                  (b += l),
23214                  c++;
23215            },
23216          },
23217          {
23218            key: "createRawDateString",
23219            value: function (t, e) {
23220              var i = t.year;
23221              return (
23222                0 === t.month && (t.month = 1),
23223                (i += "-" + ("0" + t.month.toString()).slice(-2)),
23224                "day" === t.unit
23225                  ? (i += "day" === t.unit ? "-" + ("0" + e).slice(-2) : "-01")
23226                  : (i += "-" + ("0" + (t.day ? t.day : "1")).slice(-2)),
23227                "hour" === t.unit
23228                  ? (i += "hour" === t.unit ? "T" + ("0" + e).slice(-2) : "T00")
23229                  : (i += "T" + ("0" + (t.hour ? t.hour : "0")).slice(-2)),
23230                "minute" === t.unit
23231                  ? (i += ":" + ("0" + e).slice(-2))
23232                  : (i += ":" + (t.minute ? ("0" + t.minute).slice(-2) : "00")),
23233                "second" === t.unit
23234                  ? (i += ":" + ("0" + e).slice(-2))
23235                  : (i += ":00"),
23236                this.utc && (i += ".000Z"),
23237                i
23238              );
23239            },
23240          },
23241          {
23242            key: "formatDates",
23243            value: function (t) {
23244              var e = this,
23245                i = this.w;
23246              return t.map(function (t) {
23247                var a = t.value.toString(),
23248                  s = new I(e.ctx),
23249                  r = e.createRawDateString(t, a),
23250                  o = s.getDate(s.parseDate(r));
23251                if (
23252                  (e.utc || (o = s.getDate(s.parseDateWithTimezone(r))),
23253                  void 0 === i.config.xaxis.labels.format)
23254                ) {
23255                  var n = "dd MMM",
23256                    l = i.config.xaxis.labels.datetimeFormatter;
23257                  "year" === t.unit && (n = l.year),
23258                    "month" === t.unit && (n = l.month),
23259                    "day" === t.unit && (n = l.day),
23260                    "hour" === t.unit && (n = l.hour),
23261                    "minute" === t.unit && (n = l.minute),
23262                    "second" === t.unit && (n = l.second),
23263                    (a = s.formatDate(o, n));
23264                } else a = s.formatDate(o, i.config.xaxis.labels.format);
23265                return {
23266                  dateString: r,
23267                  position: t.position,
23268                  value: a,
23269                  unit: t.unit,
23270                  year: t.year,
23271                  month: t.month,
23272                };
23273              });
23274            },
23275          },
23276          {
23277            key: "removeOverlappingTS",
23278            value: function (t) {
23279              var e,
23280                i = this,
23281                a = new m(this.ctx),
23282                s = !1;
23283              t.length > 0 &&
23284                t[0].value &&
23285                t.every(function (e) {
23286                  return e.value.length === t[0].value.length;
23287                }) &&
23288                ((s = !0), (e = a.getTextRects(t[0].value).width));
23289              var r = 0,
23290                o = t.map(function (o, n) {
23291                  if (n > 0 && i.w.config.xaxis.labels.hideOverlappingLabels) {
23292                    var l = s ? e : a.getTextRects(t[r].value).width,
23293                      h = t[r].position;
23294                    return o.position > h + l + 10 ? ((r = n), o) : null;
23295                  }
23296                  return o;
23297                });
23298              return (o = o.filter(function (t) {
23299                return null !== t;
23300              }));
23301            },
23302          },
23303          {
23304            key: "_getYear",
23305            value: function (t, e, i) {
23306              return t + Math.floor(e / 12) + i;
23307            },
23308          },
23309        ]),
23310        t
23311      );
23312    })(),
23313    Wt = (function () {
23314      function t(e, i) {
23315        a(this, t), (this.ctx = i), (this.w = i.w), (this.el = e);
23316      }
23317      return (
23318        r(t, [
23319          {
23320            key: "setupElements",
23321            value: function () {
23322              var t = this.w.globals,
23323                e = this.w.config,
23324                i = e.chart.type;
23325              (t.axisCharts =
23326                [
23327                  "line",
23328                  "area",
23329                  "bar",
23330                  "rangeBar",
23331                  "rangeArea",
23332                  "candlestick",
23333                  "boxPlot",
23334                  "scatter",
23335                  "bubble",
23336                  "radar",
23337                  "heatmap",
23338                  "treemap",
23339                ].indexOf(i) > -1),
23340                (t.xyCharts =
23341                  [
23342                    "line",
23343                    "area",
23344                    "bar",
23345                    "rangeBar",
23346                    "rangeArea",
23347                    "candlestick",
23348                    "boxPlot",
23349                    "scatter",
23350                    "bubble",
23351                  ].indexOf(i) > -1),
23352                (t.isBarHorizontal =
23353                  ("bar" === e.chart.type ||
23354                    "rangeBar" === e.chart.type ||
23355                    "boxPlot" === e.chart.type) &&
23356                  e.plotOptions.bar.horizontal),
23357                (t.chartClass = ".apexcharts" + t.chartID),
23358                (t.dom.baseEl = this.el),
23359                (t.dom.elWrap = document.createElement("div")),
23360                m.setAttrs(t.dom.elWrap, {
23361                  id: t.chartClass.substring(1),
23362                  class: "apexcharts-canvas " + t.chartClass.substring(1),
23363                }),
23364                this.el.appendChild(t.dom.elWrap),
23365                (t.dom.Paper = new window.SVG.Doc(t.dom.elWrap)),
23366                t.dom.Paper.attr({
23367                  class: "apexcharts-svg",
23368                  "xmlns:data": "ApexChartsNS",
23369                  transform: "translate("
23370                    .concat(e.chart.offsetX, ", ")
23371                    .concat(e.chart.offsetY, ")"),
23372                }),
23373                (t.dom.Paper.node.style.background =
23374                  "dark" !== e.theme.mode || e.chart.background
23375                    ? e.chart.background
23376                    : "rgba(0, 0, 0, 0.8)"),
23377                this.setSVGDimensions(),
23378                (t.dom.elLegendForeign = document.createElementNS(
23379                  t.SVGNS,
23380                  "foreignObject"
23381                )),
23382                m.setAttrs(t.dom.elLegendForeign, {
23383                  x: 0,
23384                  y: 0,
23385                  width: t.svgWidth,
23386                  height: t.svgHeight,
23387                }),
23388                (t.dom.elLegendWrap = document.createElement("div")),
23389                t.dom.elLegendWrap.classList.add("apexcharts-legend"),
23390                t.dom.elLegendWrap.setAttribute(
23391                  "xmlns",
23392                  "http://www.w3.org/1999/xhtml"
23393                ),
23394                t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),
23395                t.dom.Paper.node.appendChild(t.dom.elLegendForeign),
23396                (t.dom.elGraphical = t.dom.Paper.group().attr({
23397                  class: "apexcharts-inner apexcharts-graphical",
23398                })),
23399                (t.dom.elDefs = t.dom.Paper.defs()),
23400                t.dom.Paper.add(t.dom.elGraphical),
23401                t.dom.elGraphical.add(t.dom.elDefs);
23402            },
23403          },
23404          {
23405            key: "plotChartType",
23406            value: function (t, e) {
23407              var i = this.w,
23408                a = i.config,
23409                s = i.globals,
23410                r = { series: [], i: [] },
23411                o = { series: [], i: [] },
23412                n = { series: [], i: [] },
23413                l = { series: [], i: [] },
23414                h = { series: [], i: [] },
23415                c = { series: [], i: [] },
23416                d = { series: [], i: [] },
23417                g = { series: [], i: [] },
23418                u = { series: [], seriesRangeEnd: [], i: [] };
23419              s.series.map(function (e, p) {
23420                var f = 0;
23421                void 0 !== t[p].type
23422                  ? ("column" === t[p].type || "bar" === t[p].type
23423                      ? (s.series.length > 1 &&
23424                          a.plotOptions.bar.horizontal &&
23425                          console.warn(
23426                            "Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"
23427                          ),
23428                        h.series.push(e),
23429                        h.i.push(p),
23430                        f++,
23431                        (i.globals.columnSeries = h.series))
23432                      : "area" === t[p].type
23433                      ? (o.series.push(e), o.i.push(p), f++)
23434                      : "line" === t[p].type
23435                      ? (r.series.push(e), r.i.push(p), f++)
23436                      : "scatter" === t[p].type
23437                      ? (n.series.push(e), n.i.push(p))
23438                      : "bubble" === t[p].type
23439                      ? (l.series.push(e), l.i.push(p), f++)
23440                      : "candlestick" === t[p].type
23441                      ? (c.series.push(e), c.i.push(p), f++)
23442                      : "boxPlot" === t[p].type
23443                      ? (d.series.push(e), d.i.push(p), f++)
23444                      : "rangeBar" === t[p].type
23445                      ? (g.series.push(e), g.i.push(p), f++)
23446                      : "rangeArea" === t[p].type
23447                      ? (u.series.push(s.seriesRangeStart[p]),
23448                        u.seriesRangeEnd.push(s.seriesRangeEnd[p]),
23449                        u.i.push(p),
23450                        f++)
23451                      : console.warn(
23452                          "You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"
23453                        ),
23454                    f > 1 && (s.comboCharts = !0))
23455                  : (r.series.push(e), r.i.push(p));
23456              });
23457              var p = new Ft(this.ctx, e),
23458                f = new kt(this.ctx, e);
23459              this.ctx.pie = new Lt(this.ctx);
23460              var x = new It(this.ctx);
23461              this.ctx.rangeBar = new Mt(this.ctx, e);
23462              var b = new Pt(this.ctx),
23463                v = [];
23464              if (s.comboCharts) {
23465                if (
23466                  (o.series.length > 0 && v.push(p.draw(o.series, "area", o.i)),
23467                  h.series.length > 0)
23468                )
23469                  if (i.config.chart.stacked) {
23470                    var m = new wt(this.ctx, e);
23471                    v.push(m.draw(h.series, h.i));
23472                  } else
23473                    (this.ctx.bar = new yt(this.ctx, e)),
23474                      v.push(this.ctx.bar.draw(h.series, h.i));
23475                if (
23476                  (u.series.length > 0 &&
23477                    v.push(
23478                      p.draw(u.series, "rangeArea", u.i, u.seriesRangeEnd)
23479                    ),
23480                  r.series.length > 0 && v.push(p.draw(r.series, "line", r.i)),
23481                  c.series.length > 0 &&
23482                    v.push(f.draw(c.series, "candlestick", c.i)),
23483                  d.series.length > 0 &&
23484                    v.push(f.draw(d.series, "boxPlot", d.i)),
23485                  g.series.length > 0 &&
23486                    v.push(this.ctx.rangeBar.draw(g.series, g.i)),
23487                  n.series.length > 0)
23488                ) {
23489                  var y = new Ft(this.ctx, e, !0);
23490                  v.push(y.draw(n.series, "scatter", n.i));
23491                }
23492                if (l.series.length > 0) {
23493                  var w = new Ft(this.ctx, e, !0);
23494                  v.push(w.draw(l.series, "bubble", l.i));
23495                }
23496              } else
23497                switch (a.chart.type) {
23498                  case "line":
23499                    v = p.draw(s.series, "line");
23500                    break;
23501                  case "area":
23502                    v = p.draw(s.series, "area");
23503                    break;
23504                  case "bar":
23505                    if (a.chart.stacked) v = new wt(this.ctx, e).draw(s.series);
23506                    else
23507                      (this.ctx.bar = new yt(this.ctx, e)),
23508                        (v = this.ctx.bar.draw(s.series));
23509                    break;
23510                  case "candlestick":
23511                    v = new kt(this.ctx, e).draw(s.series, "candlestick");
23512                    break;
23513                  case "boxPlot":
23514                    v = new kt(this.ctx, e).draw(s.series, a.chart.type);
23515                    break;
23516                  case "rangeBar":
23517                    v = this.ctx.rangeBar.draw(s.series);
23518                    break;
23519                  case "rangeArea":
23520                    v = p.draw(
23521                      s.seriesRangeStart,
23522                      "rangeArea",
23523                      void 0,
23524                      s.seriesRangeEnd
23525                    );
23526                    break;
23527                  case "heatmap":
23528                    v = new St(this.ctx, e).draw(s.series);
23529                    break;
23530                  case "treemap":
23531                    v = new Dt(this.ctx, e).draw(s.series);
23532                    break;
23533                  case "pie":
23534                  case "donut":
23535                  case "polarArea":
23536                    v = this.ctx.pie.draw(s.series);
23537                    break;
23538                  case "radialBar":
23539                    v = x.draw(s.series);
23540                    break;
23541                  case "radar":
23542                    v = b.draw(s.series);
23543                    break;
23544                  default:
23545                    v = p.draw(s.series);
23546                }
23547              return v;
23548            },
23549          },
23550          {
23551            key: "setSVGDimensions",
23552            value: function () {
23553              var t = this.w.globals,
23554                e = this.w.config;
23555              (t.svgWidth = e.chart.width), (t.svgHeight = e.chart.height);
23556              var i = x.getDimensions(this.el),
23557                a = e.chart.width
23558                  .toString()
23559                  .split(/[0-9]+/g)
23560                  .pop();
23561              "%" === a
23562                ? x.isNumber(i[0]) &&
23563                  (0 === i[0].width &&
23564                    (i = x.getDimensions(this.el.parentNode)),
23565                  (t.svgWidth = (i[0] * parseInt(e.chart.width, 10)) / 100))
23566                : ("px" !== a && "" !== a) ||
23567                  (t.svgWidth = parseInt(e.chart.width, 10));
23568              var s = e.chart.height
23569                .toString()
23570                .split(/[0-9]+/g)
23571                .pop();
23572              if ("auto" !== t.svgHeight && "" !== t.svgHeight)
23573                if ("%" === s) {
23574                  var r = x.getDimensions(this.el.parentNode);
23575                  t.svgHeight = (r[1] * parseInt(e.chart.height, 10)) / 100;
23576                } else t.svgHeight = parseInt(e.chart.height, 10);
23577              else
23578                t.axisCharts
23579                  ? (t.svgHeight = t.svgWidth / 1.61)
23580                  : (t.svgHeight = t.svgWidth / 1.2);
23581              if (
23582                (t.svgWidth < 0 && (t.svgWidth = 0),
23583                t.svgHeight < 0 && (t.svgHeight = 0),
23584                m.setAttrs(t.dom.Paper.node, {
23585                  width: t.svgWidth,
23586                  height: t.svgHeight,
23587                }),
23588                "%" !== s)
23589              ) {
23590                var o = e.chart.sparkline.enabled
23591                  ? 0
23592                  : t.axisCharts
23593                  ? e.chart.parentHeightOffset
23594                  : 0;
23595                t.dom.Paper.node.parentNode.parentNode.style.minHeight =
23596                  t.svgHeight + o + "px";
23597              }
23598              (t.dom.elWrap.style.width = t.svgWidth + "px"),
23599                (t.dom.elWrap.style.height = t.svgHeight + "px");
23600            },
23601          },
23602          {
23603            key: "shiftGraphPosition",
23604            value: function () {
23605              var t = this.w.globals,
23606                e = t.translateY,
23607                i = { transform: "translate(" + t.translateX + ", " + e + ")" };
23608              m.setAttrs(t.dom.elGraphical.node, i);
23609            },
23610          },
23611          {
23612            key: "resizeNonAxisCharts",
23613            value: function () {
23614              var t = this.w,
23615                e = t.globals,
23616                i = 0,
23617                a = t.config.chart.sparkline.enabled ? 1 : 15;
23618              (a += t.config.grid.padding.bottom),
23619                ("top" !== t.config.legend.position &&
23620                  "bottom" !== t.config.legend.position) ||
23621                  !t.config.legend.show ||
23622                  t.config.legend.floating ||
23623                  (i =
23624                    new lt(this.ctx).legendHelpers.getLegendBBox().clwh + 10);
23625              var s = t.globals.dom.baseEl.querySelector(
23626                  ".apexcharts-radialbar, .apexcharts-pie"
23627                ),
23628                r = 2.05 * t.globals.radialSize;
23629              if (
23630                s &&
23631                !t.config.chart.sparkline.enabled &&
23632                0 !== t.config.plotOptions.radialBar.startAngle
23633              ) {
23634                var o = x.getBoundingClientRect(s);
23635                r = o.bottom;
23636                var n = o.bottom - o.top;
23637                r = Math.max(2.05 * t.globals.radialSize, n);
23638              }
23639              var l = r + e.translateY + i + a;
23640              e.dom.elLegendForeign &&
23641                e.dom.elLegendForeign.setAttribute("height", l),
23642                (t.config.chart.height &&
23643                  String(t.config.chart.height).indexOf("%") > 0) ||
23644                  ((e.dom.elWrap.style.height = l + "px"),
23645                  m.setAttrs(e.dom.Paper.node, { height: l }),
23646                  (e.dom.Paper.node.parentNode.parentNode.style.minHeight =
23647                    l + "px"));
23648            },
23649          },
23650          {
23651            key: "coreCalculations",
23652            value: function () {
23653              new U(this.ctx).init();
23654            },
23655          },
23656          {
23657            key: "resetGlobals",
23658            value: function () {
23659              var t = this,
23660                e = function () {
23661                  return t.w.config.series.map(function (t) {
23662                    return [];
23663                  });
23664                },
23665                i = new Y(),
23666                a = this.w.globals;
23667              i.initGlobalVars(a),
23668                (a.seriesXvalues = e()),
23669                (a.seriesYvalues = e());
23670            },
23671          },
23672          {
23673            key: "isMultipleY",
23674            value: function () {
23675              if (
23676                this.w.config.yaxis.constructor === Array &&
23677                this.w.config.yaxis.length > 1
23678              )
23679                return (this.w.globals.isMultipleYAxis = !0), !0;
23680            },
23681          },
23682          {
23683            key: "xySettings",
23684            value: function () {
23685              var t = null,
23686                e = this.w;
23687              if (e.globals.axisCharts) {
23688                if ("back" === e.config.xaxis.crosshairs.position)
23689                  new Q(this.ctx).drawXCrosshairs();
23690                if ("back" === e.config.yaxis[0].crosshairs.position)
23691                  new Q(this.ctx).drawYCrosshairs();
23692                if (
23693                  "datetime" === e.config.xaxis.type &&
23694                  void 0 === e.config.xaxis.labels.formatter
23695                ) {
23696                  this.ctx.timeScale = new Nt(this.ctx);
23697                  var i = [];
23698                  isFinite(e.globals.minX) &&
23699                  isFinite(e.globals.maxX) &&
23700                  !e.globals.isBarHorizontal
23701                    ? (i = this.ctx.timeScale.calculateTimeScaleTicks(
23702                        e.globals.minX,
23703                        e.globals.maxX
23704                      ))
23705                    : e.globals.isBarHorizontal &&
23706                      (i = this.ctx.timeScale.calculateTimeScaleTicks(
23707                        e.globals.minY,
23708                        e.globals.maxY
23709                      )),
23710                    this.ctx.timeScale.recalcDimensionsBasedOnFormat(i);
23711                }
23712                t = new y(this.ctx).getCalculatedRatios();
23713              }
23714              return t;
23715            },
23716          },
23717          {
23718            key: "updateSourceChart",
23719            value: function (t) {
23720              (this.ctx.w.globals.selection = void 0),
23721                this.ctx.updateHelpers._updateOptions(
23722                  {
23723                    chart: {
23724                      selection: {
23725                        xaxis: { min: t.w.globals.minX, max: t.w.globals.maxX },
23726                      },
23727                    },
23728                  },
23729                  !1,
23730                  !1
23731                );
23732            },
23733          },
23734          {
23735            key: "setupBrushHandler",
23736            value: function () {
23737              var t = this,
23738                e = this.w;
23739              if (
23740                e.config.chart.brush.enabled &&
23741                "function" != typeof e.config.chart.events.selection
23742              ) {
23743                var i = Array.isArray(e.config.chart.brush.targets)
23744                  ? e.config.chart.brush.targets
23745                  : [e.config.chart.brush.target];
23746                i.forEach(function (e) {
23747                  var i = ApexCharts.getChartByID(e);
23748                  (i.w.globals.brushSource = t.ctx),
23749                    "function" != typeof i.w.config.chart.events.zoomed &&
23750                      (i.w.config.chart.events.zoomed = function () {
23751                        t.updateSourceChart(i);
23752                      }),
23753                    "function" != typeof i.w.config.chart.events.scrolled &&
23754                      (i.w.config.chart.events.scrolled = function () {
23755                        t.updateSourceChart(i);
23756                      });
23757                }),
23758                  (e.config.chart.events.selection = function (t, e) {
23759                    i.forEach(function (t) {
23760                      ApexCharts.getChartByID(
23761                        t
23762                      ).ctx.updateHelpers._updateOptions(
23763                        { xaxis: { min: e.xaxis.min, max: e.xaxis.max } },
23764                        !1,
23765                        !1,
23766                        !1,
23767                        !1
23768                      );
23769                    });
23770                  });
23771              }
23772            },
23773          },
23774        ]),
23775        t
23776      );
23777    })(),
23778    Bt = (function () {
23779      function t(e) {
23780        a(this, t), (this.ctx = e), (this.w = e.w);
23781      }
23782      return (
23783        r(t, [
23784          {
23785            key: "_updateOptions",
23786            value: function (t) {
23787              var e = this,
23788                a =
23789                  arguments.length > 1 &&
23790                  void 0 !== arguments[1] &&
23791                  arguments[1],
23792                s =
23793                  !(arguments.length > 2 && void 0 !== arguments[2]) ||
23794                  arguments[2],
23795                r =
23796                  !(arguments.length > 3 && void 0 !== arguments[3]) ||
23797                  arguments[3],
23798                o =
23799                  arguments.length > 4 &&
23800                  void 0 !== arguments[4] &&
23801                  arguments[4];
23802              return new Promise(function (n) {
23803                var l = [e.ctx];
23804                r && (l = e.ctx.getSyncedCharts()),
23805                  e.ctx.w.globals.isExecCalled &&
23806                    ((l = [e.ctx]), (e.ctx.w.globals.isExecCalled = !1)),
23807                  l.forEach(function (r, h) {
23808                    var c = r.w;
23809                    if (
23810                      ((c.globals.shouldAnimate = s),
23811                      a ||
23812                        ((c.globals.resized = !0),
23813                        (c.globals.dataChanged = !0),
23814                        s && r.series.getPreviousPaths()),
23815                      t &&
23816                        "object" === i(t) &&
23817                        ((r.config = new E(t)),
23818                        (t = y.extendArrayProps(r.config, t, c)),
23819                        r.w.globals.chartID !== e.ctx.w.globals.chartID &&
23820                          delete t.series,
23821                        (c.config = x.extend(c.config, t)),
23822                        o &&
23823                          ((c.globals.lastXAxis = t.xaxis
23824                            ? x.clone(t.xaxis)
23825                            : []),
23826                          (c.globals.lastYAxis = t.yaxis
23827                            ? x.clone(t.yaxis)
23828                            : []),
23829                          (c.globals.initialConfig = x.extend({}, c.config)),
23830                          (c.globals.initialSeries = x.clone(c.config.series)),
23831                          t.series)))
23832                    ) {
23833                      for (
23834                        var d = 0;
23835                        d < c.globals.collapsedSeriesIndices.length;
23836                        d++
23837                      ) {
23838                        var g =
23839                          c.config.series[c.globals.collapsedSeriesIndices[d]];
23840                        c.globals.collapsedSeries[d].data = c.globals.axisCharts
23841                          ? g.data.slice()
23842                          : g;
23843                      }
23844                      for (
23845                        var u = 0;
23846                        u < c.globals.ancillaryCollapsedSeriesIndices.length;
23847                        u++
23848                      ) {
23849                        var p =
23850                          c.config.series[
23851                            c.globals.ancillaryCollapsedSeriesIndices[u]
23852                          ];
23853                        c.globals.ancillaryCollapsedSeries[u].data = c.globals
23854                          .axisCharts
23855                          ? p.data.slice()
23856                          : p;
23857                      }
23858                      r.series.emptyCollapsedSeries(c.config.series);
23859                    }
23860                    return r.update(t).then(function () {
23861                      h === l.length - 1 && n(r);
23862                    });
23863                  });
23864              });
23865            },
23866          },
23867          {
23868            key: "_updateSeries",
23869            value: function (t, e) {
23870              var i = this,
23871                a =
23872                  arguments.length > 2 &&
23873                  void 0 !== arguments[2] &&
23874                  arguments[2];
23875              return new Promise(function (s) {
23876                var r,
23877                  o = i.w;
23878                return (
23879                  (o.globals.shouldAnimate = e),
23880                  (o.globals.dataChanged = !0),
23881                  e && i.ctx.series.getPreviousPaths(),
23882                  o.globals.axisCharts
23883                    ? (0 ===
23884                        (r = t.map(function (t, e) {
23885                          return i._extendSeries(t, e);
23886                        })).length && (r = [{ data: [] }]),
23887                      (o.config.series = r))
23888                    : (o.config.series = t.slice()),
23889                  a &&
23890                    ((o.globals.initialConfig.series = x.clone(
23891                      o.config.series
23892                    )),
23893                    (o.globals.initialSeries = x.clone(o.config.series))),
23894                  i.ctx.update().then(function () {
23895                    s(i.ctx);
23896                  })
23897                );
23898              });
23899            },
23900          },
23901          {
23902            key: "_extendSeries",
23903            value: function (t, i) {
23904              var a = this.w,
23905                s = a.config.series[i];
23906              return e(
23907                e({}, a.config.series[i]),
23908                {},
23909                {
23910                  name: t.name ? t.name : null == s ? void 0 : s.name,
23911                  color: t.color ? t.color : null == s ? void 0 : s.color,
23912                  type: t.type ? t.type : null == s ? void 0 : s.type,
23913                  group: t.group ? t.group : null == s ? void 0 : s.group,
23914                  data: t.data ? t.data : null == s ? void 0 : s.data,
23915                  zIndex: void 0 !== t.zIndex ? t.zIndex : i,
23916                }
23917              );
23918            },
23919          },
23920          {
23921            key: "toggleDataPointSelection",
23922            value: function (t, e) {
23923              var i = this.w,
23924                a = null,
23925                s = ".apexcharts-series[data\\:realIndex='".concat(t, "']");
23926              return (
23927                i.globals.axisCharts
23928                  ? (a = i.globals.dom.Paper.select(
23929                      ""
23930                        .concat(s, " path[j='")
23931                        .concat(e, "'], ")
23932                        .concat(s, " circle[j='")
23933                        .concat(e, "'], ")
23934                        .concat(s, " rect[j='")
23935                        .concat(e, "']")
23936                    ).members[0])
23937                  : void 0 === e &&
23938                    ((a = i.globals.dom.Paper.select(
23939                      "".concat(s, " path[j='").concat(t, "']")
23940                    ).members[0]),
23941                    ("pie" !== i.config.chart.type &&
23942                      "polarArea" !== i.config.chart.type &&
23943                      "donut" !== i.config.chart.type) ||
23944                      this.ctx.pie.pieClicked(t)),
23945                a
23946                  ? (new m(this.ctx).pathMouseDown(a, null),
23947                    a.node ? a.node : null)
23948                  : (console.warn(
23949                      "toggleDataPointSelection: Element not found"
23950                    ),
23951                    null)
23952              );
23953            },
23954          },
23955          {
23956            key: "forceXAxisUpdate",
23957            value: function (t) {
23958              var e = this.w;
23959              if (
23960                (["min", "max"].forEach(function (i) {
23961                  void 0 !== t.xaxis[i] &&
23962                    ((e.config.xaxis[i] = t.xaxis[i]),
23963                    (e.globals.lastXAxis[i] = t.xaxis[i]));
23964                }),
23965                t.xaxis.categories &&
23966                  t.xaxis.categories.length &&
23967                  (e.config.xaxis.categories = t.xaxis.categories),
23968                e.config.xaxis.convertedCatToNumeric)
23969              ) {
23970                var i = new X(t);
23971                t = i.convertCatToNumericXaxis(t, this.ctx);
23972              }
23973              return t;
23974            },
23975          },
23976          {
23977            key: "forceYAxisUpdate",
23978            value: function (t) {
23979              return (
23980                t.chart &&
23981                  t.chart.stacked &&
23982                  "100%" === t.chart.stackType &&
23983                  (Array.isArray(t.yaxis)
23984                    ? t.yaxis.forEach(function (e, i) {
23985                        (t.yaxis[i].min = 0), (t.yaxis[i].max = 100);
23986                      })
23987                    : ((t.yaxis.min = 0), (t.yaxis.max = 100))),
23988                t
23989              );
23990            },
23991          },
23992          {
23993            key: "revertDefaultAxisMinMax",
23994            value: function (t) {
23995              var e = this,
23996                i = this.w,
23997                a = i.globals.lastXAxis,
23998                s = i.globals.lastYAxis;
23999              t && t.xaxis && (a = t.xaxis),
24000                t && t.yaxis && (s = t.yaxis),
24001                (i.config.xaxis.min = a.min),
24002                (i.config.xaxis.max = a.max);
24003              var r = function (t) {
24004                void 0 !== s[t] &&
24005                  ((i.config.yaxis[t].min = s[t].min),
24006                  (i.config.yaxis[t].max = s[t].max));
24007              };
24008              i.config.yaxis.map(function (t, a) {
24009                i.globals.zoomed || void 0 !== s[a]
24010                  ? r(a)
24011                  : void 0 !== e.ctx.opts.yaxis[a] &&
24012                    ((t.min = e.ctx.opts.yaxis[a].min),
24013                    (t.max = e.ctx.opts.yaxis[a].max));
24014              });
24015            },
24016          },
24017        ]),
24018        t
24019      );
24020    })();
24021  (Rt = "undefined" != typeof window ? window : void 0),
24022    (Ht = function (t, e) {
24023      var a = ((void 0 !== this ? this : t).SVG = function (t) {
24024        if (a.supported)
24025          return (t = new a.Doc(t)), a.parser.draw || a.prepare(), t;
24026      });
24027      if (
24028        ((a.ns = "http://www.w3.org/2000/svg"),
24029        (a.xmlns = "http://www.w3.org/2000/xmlns/"),
24030        (a.xlink = "http://www.w3.org/1999/xlink"),
24031        (a.svgjs = "http://svgjs.dev"),
24032        (a.supported = !0),
24033        !a.supported)
24034      )
24035        return !1;
24036      (a.did = 1e3),
24037        (a.eid = function (t) {
24038          return "Svgjs" + d(t) + a.did++;
24039        }),
24040        (a.create = function (t) {
24041          var i = e.createElementNS(this.ns, t);
24042          return i.setAttribute("id", this.eid(t)), i;
24043        }),
24044        (a.extend = function () {
24045          var t, e;
24046          e = (t = [].slice.call(arguments)).pop();
24047          for (var i = t.length - 1; i >= 0; i--)
24048            if (t[i]) for (var s in e) t[i].prototype[s] = e[s];
24049          a.Set && a.Set.inherit && a.Set.inherit();
24050        }),
24051        (a.invent = function (t) {
24052          var e =
24053            "function" == typeof t.create
24054              ? t.create
24055              : function () {
24056                  this.constructor.call(this, a.create(t.create));
24057                };
24058          return (
24059            t.inherit && (e.prototype = new t.inherit()),
24060            t.extend && a.extend(e, t.extend),
24061            t.construct && a.extend(t.parent || a.Container, t.construct),
24062            e
24063          );
24064        }),
24065        (a.adopt = function (e) {
24066          return e
24067            ? e.instance
24068              ? e.instance
24069              : (((i =
24070                  "svg" == e.nodeName
24071                    ? e.parentNode instanceof t.SVGElement
24072                      ? new a.Nested()
24073                      : new a.Doc()
24074                    : "linearGradient" == e.nodeName
24075                    ? new a.Gradient("linear")
24076                    : "radialGradient" == e.nodeName
24077                    ? new a.Gradient("radial")
24078                    : a[d(e.nodeName)]
24079                    ? new a[d(e.nodeName)]()
24080                    : new a.Element(e)).type = e.nodeName),
24081                (i.node = e),
24082                (e.instance = i),
24083                i instanceof a.Doc && i.namespace().defs(),
24084                i.setData(JSON.parse(e.getAttribute("svgjs:data")) || {}),
24085                i)
24086            : null;
24087          var i;
24088        }),
24089        (a.prepare = function () {
24090          var t = e.getElementsByTagName("body")[0],
24091            i = (t ? new a.Doc(t) : a.adopt(e.documentElement).nested()).size(
24092              2,
24093              0
24094            );
24095          a.parser = {
24096            body: t || e.documentElement,
24097            draw: i.style(
24098              "opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden"
24099            ).node,
24100            poly: i.polyline().node,
24101            path: i.path().node,
24102            native: a.create("svg"),
24103          };
24104        }),
24105        (a.parser = { native: a.create("svg") }),
24106        e.addEventListener(
24107          "DOMContentLoaded",
24108          function () {
24109            a.parser.draw || a.prepare();
24110          },
24111          !1
24112        ),
24113        (a.regex = {
24114          numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,
24115          hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,
24116          rgb: /rgb\((\d+),(\d+),(\d+)\)/,
24117          reference: /#([a-z0-9\-_]+)/i,
24118          transforms: /\)\s*,?\s*/,
24119          whitespace: /\s/g,
24120          isHex: /^#[a-f0-9]{3,6}$/i,
24121          isRgb: /^rgb\(/,
24122          isCss: /[^:]+:[^;]+;?/,
24123          isBlank: /^(\s+)?$/,
24124          isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,
24125          isPercent: /^-?[\d\.]+%$/,
24126          isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,
24127          delimiter: /[\s,]+/,
24128          hyphen: /([^e])\-/gi,
24129          pathLetters: /[MLHVCSQTAZ]/gi,
24130          isPathLetter: /[MLHVCSQTAZ]/i,
24131          numbersWithDots:
24132            /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,
24133          dots: /\./g,
24134        }),
24135        (a.utils = {
24136          map: function (t, e) {
24137            for (var i = t.length, a = [], s = 0; s < i; s++) a.push(e(t[s]));
24138            return a;
24139          },
24140          filter: function (t, e) {
24141            for (var i = t.length, a = [], s = 0; s < i; s++)
24142              e(t[s]) && a.push(t[s]);
24143            return a;
24144          },
24145          filterSVGElements: function (e) {
24146            return this.filter(e, function (e) {
24147              return e instanceof t.SVGElement;
24148            });
24149          },
24150        }),
24151        (a.defaults = {
24152          attrs: {
24153            "fill-opacity": 1,
24154            "stroke-opacity": 1,
24155            "stroke-width": 0,
24156            "stroke-linejoin": "miter",
24157            "stroke-linecap": "butt",
24158            fill: "#000000",
24159            stroke: "#000000",
24160            opacity: 1,
24161            x: 0,
24162            y: 0,
24163            cx: 0,
24164            cy: 0,
24165            width: 0,
24166            height: 0,
24167            r: 0,
24168            rx: 0,
24169            ry: 0,
24170            offset: 0,
24171            "stop-opacity": 1,
24172            "stop-color": "#000000",
24173            "font-size": 16,
24174            "font-family": "Helvetica, Arial, sans-serif",
24175            "text-anchor": "start",
24176          },
24177        }),
24178        (a.Color = function (t) {
24179          var e, s;
24180          (this.r = 0),
24181            (this.g = 0),
24182            (this.b = 0),
24183            t &&
24184              ("string" == typeof t
24185                ? a.regex.isRgb.test(t)
24186                  ? ((e = a.regex.rgb.exec(t.replace(a.regex.whitespace, ""))),
24187                    (this.r = parseInt(e[1])),
24188                    (this.g = parseInt(e[2])),
24189                    (this.b = parseInt(e[3])))
24190                  : a.regex.isHex.test(t) &&
24191                    ((e = a.regex.hex.exec(
24192                      4 == (s = t).length
24193                        ? [
24194                            "#",
24195                            s.substring(1, 2),
24196                            s.substring(1, 2),
24197                            s.substring(2, 3),
24198                            s.substring(2, 3),
24199                            s.substring(3, 4),
24200                            s.substring(3, 4),
24201                          ].join("")
24202                        : s
24203                    )),
24204                    (this.r = parseInt(e[1], 16)),
24205                    (this.g = parseInt(e[2], 16)),
24206                    (this.b = parseInt(e[3], 16)))
24207                : "object" === i(t) &&
24208                  ((this.r = t.r), (this.g = t.g), (this.b = t.b)));
24209        }),
24210        a.extend(a.Color, {
24211          toString: function () {
24212            return this.toHex();
24213          },
24214          toHex: function () {
24215            return "#" + g(this.r) + g(this.g) + g(this.b);
24216          },
24217          toRgb: function () {
24218            return "rgb(" + [this.r, this.g, this.b].join() + ")";
24219          },
24220          brightness: function () {
24221            return (
24222              (this.r / 255) * 0.3 +
24223              (this.g / 255) * 0.59 +
24224              (this.b / 255) * 0.11
24225            );
24226          },
24227          morph: function (t) {
24228            return (this.destination = new a.Color(t)), this;
24229          },
24230          at: function (t) {
24231            return this.destination
24232              ? ((t = t < 0 ? 0 : t > 1 ? 1 : t),
24233                new a.Color({
24234                  r: ~~(this.r + (this.destination.r - this.r) * t),
24235                  g: ~~(this.g + (this.destination.g - this.g) * t),
24236                  b: ~~(this.b + (this.destination.b - this.b) * t),
24237                }))
24238              : this;
24239          },
24240        }),
24241        (a.Color.test = function (t) {
24242          return (t += ""), a.regex.isHex.test(t) || a.regex.isRgb.test(t);
24243        }),
24244        (a.Color.isRgb = function (t) {
24245          return (
24246            t &&
24247            "number" == typeof t.r &&
24248            "number" == typeof t.g &&
24249            "number" == typeof t.b
24250          );
24251        }),
24252        (a.Color.isColor = function (t) {
24253          return a.Color.isRgb(t) || a.Color.test(t);
24254        }),
24255        (a.Array = function (t, e) {
24256          0 == (t = (t || []).valueOf()).length && e && (t = e.valueOf()),
24257            (this.value = this.parse(t));
24258        }),
24259        a.extend(a.Array, {
24260          toString: function () {
24261            return this.value.join(" ");
24262          },
24263          valueOf: function () {
24264            return this.value;
24265          },
24266          parse: function (t) {
24267            return (t = t.valueOf()), Array.isArray(t) ? t : this.split(t);
24268          },
24269        }),
24270        (a.PointArray = function (t, e) {
24271          a.Array.call(this, t, e || [[0, 0]]);
24272        }),
24273        (a.PointArray.prototype = new a.Array()),
24274        (a.PointArray.prototype.constructor = a.PointArray);
24275      for (
24276        var s = {
24277            M: function (t, e, i) {
24278              return (e.x = i.x = t[0]), (e.y = i.y = t[1]), ["M", e.x, e.y];
24279            },
24280            L: function (t, e) {
24281              return (e.x = t[0]), (e.y = t[1]), ["L", t[0], t[1]];
24282            },
24283            H: function (t, e) {
24284              return (e.x = t[0]), ["H", t[0]];
24285            },
24286            V: function (t, e) {
24287              return (e.y = t[0]), ["V", t[0]];
24288            },
24289            C: function (t, e) {
24290              return (
24291                (e.x = t[4]),
24292                (e.y = t[5]),
24293                ["C", t[0], t[1], t[2], t[3], t[4], t[5]]
24294              );
24295            },
24296            Q: function (t, e) {
24297              return (e.x = t[2]), (e.y = t[3]), ["Q", t[0], t[1], t[2], t[3]];
24298            },
24299            S: function (t, e) {
24300              return (e.x = t[2]), (e.y = t[3]), ["S", t[0], t[1], t[2], t[3]];
24301            },
24302            Z: function (t, e, i) {
24303              return (e.x = i.x), (e.y = i.y), ["Z"];
24304            },
24305          },
24306          r = "mlhvqtcsaz".split(""),
24307          o = 0,
24308          n = r.length;
24309        o < n;
24310        ++o
24311      )
24312        s[r[o]] = (function (t) {
24313          return function (e, i, a) {
24314            if ("H" == t) e[0] = e[0] + i.x;
24315            else if ("V" == t) e[0] = e[0] + i.y;
24316            else if ("A" == t) (e[5] = e[5] + i.x), (e[6] = e[6] + i.y);
24317            else
24318              for (var r = 0, o = e.length; r < o; ++r)
24319                e[r] = e[r] + (r % 2 ? i.y : i.x);
24320            if (s && "function" == typeof s[t]) return s[t](e, i, a);
24321          };
24322        })(r[o].toUpperCase());
24323      (a.PathArray = function (t, e) {
24324        a.Array.call(this, t, e || [["M", 0, 0]]);
24325      }),
24326        (a.PathArray.prototype = new a.Array()),
24327        (a.PathArray.prototype.constructor = a.PathArray),
24328        a.extend(a.PathArray, {
24329          toString: function () {
24330            return (function (t) {
24331              for (var e = 0, i = t.length, a = ""; e < i; e++)
24332                (a += t[e][0]),
24333                  null != t[e][1] &&
24334                    ((a += t[e][1]),
24335                    null != t[e][2] &&
24336                      ((a += " "),
24337                      (a += t[e][2]),
24338                      null != t[e][3] &&
24339                        ((a += " "),
24340                        (a += t[e][3]),
24341                        (a += " "),
24342                        (a += t[e][4]),
24343                        null != t[e][5] &&
24344                          ((a += " "),
24345                          (a += t[e][5]),
24346                          (a += " "),
24347                          (a += t[e][6]),
24348                          null != t[e][7] && ((a += " "), (a += t[e][7]))))));
24349              return a + " ";
24350            })(this.value);
24351          },
24352          move: function (t, e) {
24353            var i = this.bbox();
24354            return i.x, i.y, this;
24355          },
24356          at: function (t) {
24357            if (!this.destination) return this;
24358            for (
24359              var e = this.value,
24360                i = this.destination.value,
24361                s = [],
24362                r = new a.PathArray(),
24363                o = 0,
24364                n = e.length;
24365              o < n;
24366              o++
24367            ) {
24368              s[o] = [e[o][0]];
24369              for (var l = 1, h = e[o].length; l < h; l++)
24370                s[o][l] = e[o][l] + (i[o][l] - e[o][l]) * t;
24371              "A" === s[o][0] &&
24372                ((s[o][4] = +(0 != s[o][4])), (s[o][5] = +(0 != s[o][5])));
24373            }
24374            return (r.value = s), r;
24375          },
24376          parse: function (t) {
24377            if (t instanceof a.PathArray) return t.valueOf();
24378            var e,
24379              i = {
24380                M: 2,
24381                L: 2,
24382                H: 1,
24383                V: 1,
24384                C: 6,
24385                S: 4,
24386                Q: 4,
24387                T: 2,
24388                A: 7,
24389                Z: 0,
24390              };
24391            t =
24392              "string" == typeof t
24393                ? t
24394                    .replace(a.regex.numbersWithDots, h)
24395                    .replace(a.regex.pathLetters, " $& ")
24396                    .replace(a.regex.hyphen, "$1 -")
24397                    .trim()
24398                    .split(a.regex.delimiter)
24399                : t.reduce(function (t, e) {
24400                    return [].concat.call(t, e);
24401                  }, []);
24402            var r = [],
24403              o = new a.Point(),
24404              n = new a.Point(),
24405              l = 0,
24406              c = t.length;
24407            do {
24408              a.regex.isPathLetter.test(t[l])
24409                ? ((e = t[l]), ++l)
24410                : "M" == e
24411                ? (e = "L")
24412                : "m" == e && (e = "l"),
24413                r.push(
24414                  s[e].call(
24415                    null,
24416                    t.slice(l, (l += i[e.toUpperCase()])).map(parseFloat),
24417                    o,
24418                    n
24419                  )
24420                );
24421            } while (c > l);
24422            return r;
24423          },
24424          bbox: function () {
24425            return (
24426              a.parser.draw || a.prepare(),
24427              a.parser.path.setAttribute("d", this.toString()),
24428              a.parser.path.getBBox()
24429            );
24430          },
24431        }),
24432        (a.Number = a.invent({
24433          create: function (t, e) {
24434            (this.value = 0),
24435              (this.unit = e || ""),
24436              "number" == typeof t
24437                ? (this.value = isNaN(t)
24438                    ? 0
24439                    : isFinite(t)
24440                    ? t
24441                    : t < 0
24442                    ? -34e37
24443                    : 34e37)
24444                : "string" == typeof t
24445                ? (e = t.match(a.regex.numberAndUnit)) &&
24446                  ((this.value = parseFloat(e[1])),
24447                  "%" == e[5]
24448                    ? (this.value /= 100)
24449                    : "s" == e[5] && (this.value *= 1e3),
24450                  (this.unit = e[5]))
24451                : t instanceof a.Number &&
24452                  ((this.value = t.valueOf()), (this.unit = t.unit));
24453          },
24454          extend: {
24455            toString: function () {
24456              return (
24457                ("%" == this.unit
24458                  ? ~~(1e8 * this.value) / 1e6
24459                  : "s" == this.unit
24460                  ? this.value / 1e3
24461                  : this.value) + this.unit
24462              );
24463            },
24464            toJSON: function () {
24465              return this.toString();
24466            },
24467            valueOf: function () {
24468              return this.value;
24469            },
24470            plus: function (t) {
24471              return (
24472                (t = new a.Number(t)),
24473                new a.Number(this + t, this.unit || t.unit)
24474              );
24475            },
24476            minus: function (t) {
24477              return (
24478                (t = new a.Number(t)),
24479                new a.Number(this - t, this.unit || t.unit)
24480              );
24481            },
24482            times: function (t) {
24483              return (
24484                (t = new a.Number(t)),
24485                new a.Number(this * t, this.unit || t.unit)
24486              );
24487            },
24488            divide: function (t) {
24489              return (
24490                (t = new a.Number(t)),
24491                new a.Number(this / t, this.unit || t.unit)
24492              );
24493            },
24494            to: function (t) {
24495              var e = new a.Number(this);
24496              return "string" == typeof t && (e.unit = t), e;
24497            },
24498            morph: function (t) {
24499              return (
24500                (this.destination = new a.Number(t)),
24501                t.relative && (this.destination.value += this.value),
24502                this
24503              );
24504            },
24505            at: function (t) {
24506              return this.destination
24507                ? new a.Number(this.destination).minus(this).times(t).plus(this)
24508                : this;
24509            },
24510          },
24511        })),
24512        (a.Element = a.invent({
24513          create: function (t) {
24514            (this._stroke = a.defaults.attrs.stroke),
24515              (this._event = null),
24516              (this.dom = {}),
24517              (this.node = t) &&
24518                ((this.type = t.nodeName),
24519                (this.node.instance = this),
24520                (this._stroke = t.getAttribute("stroke") || this._stroke));
24521          },
24522          extend: {
24523            x: function (t) {
24524              return this.attr("x", t);
24525            },
24526            y: function (t) {
24527              return this.attr("y", t);
24528            },
24529            cx: function (t) {
24530              return null == t
24531                ? this.x() + this.width() / 2
24532                : this.x(t - this.width() / 2);
24533            },
24534            cy: function (t) {
24535              return null == t
24536                ? this.y() + this.height() / 2
24537                : this.y(t - this.height() / 2);
24538            },
24539            move: function (t, e) {
24540              return this.x(t).y(e);
24541            },
24542            center: function (t, e) {
24543              return this.cx(t).cy(e);
24544            },
24545            width: function (t) {
24546              return this.attr("width", t);
24547            },
24548            height: function (t) {
24549              return this.attr("height", t);
24550            },
24551            size: function (t, e) {
24552              var i = u(this, t, e);
24553              return this.width(new a.Number(i.width)).height(
24554                new a.Number(i.height)
24555              );
24556            },
24557            clone: function (t) {
24558              this.writeDataToDom();
24559              var e = x(this.node.cloneNode(!0));
24560              return t ? t.add(e) : this.after(e), e;
24561            },
24562            remove: function () {
24563              return this.parent() && this.parent().removeElement(this), this;
24564            },
24565            replace: function (t) {
24566              return this.after(t).remove(), t;
24567            },
24568            addTo: function (t) {
24569              return t.put(this);
24570            },
24571            putIn: function (t) {
24572              return t.add(this);
24573            },
24574            id: function (t) {
24575              return this.attr("id", t);
24576            },
24577            show: function () {
24578              return this.style("display", "");
24579            },
24580            hide: function () {
24581              return this.style("display", "none");
24582            },
24583            visible: function () {
24584              return "none" != this.style("display");
24585            },
24586            toString: function () {
24587              return this.attr("id");
24588            },
24589            classes: function () {
24590              var t = this.attr("class");
24591              return null == t ? [] : t.trim().split(a.regex.delimiter);
24592            },
24593            hasClass: function (t) {
24594              return -1 != this.classes().indexOf(t);
24595            },
24596            addClass: function (t) {
24597              if (!this.hasClass(t)) {
24598                var e = this.classes();
24599                e.push(t), this.attr("class", e.join(" "));
24600              }
24601              return this;
24602            },
24603            removeClass: function (t) {
24604              return (
24605                this.hasClass(t) &&
24606                  this.attr(
24607                    "class",
24608                    this.classes()
24609                      .filter(function (e) {
24610                        return e != t;
24611                      })
24612                      .join(" ")
24613                  ),
24614                this
24615              );
24616            },
24617            toggleClass: function (t) {
24618              return this.hasClass(t) ? this.removeClass(t) : this.addClass(t);
24619            },
24620            reference: function (t) {
24621              return a.get(this.attr(t));
24622            },
24623            parent: function (e) {
24624              var i = this;
24625              if (!i.node.parentNode) return null;
24626              if (((i = a.adopt(i.node.parentNode)), !e)) return i;
24627              for (; i && i.node instanceof t.SVGElement; ) {
24628                if ("string" == typeof e ? i.matches(e) : i instanceof e)
24629                  return i;
24630                if (
24631                  !i.node.parentNode ||
24632                  "#document" == i.node.parentNode.nodeName
24633                )
24634                  return null;
24635                i = a.adopt(i.node.parentNode);
24636              }
24637            },
24638            doc: function () {
24639              return this instanceof a.Doc ? this : this.parent(a.Doc);
24640            },
24641            parents: function (t) {
24642              var e = [],
24643                i = this;
24644              do {
24645                if (!(i = i.parent(t)) || !i.node) break;
24646                e.push(i);
24647              } while (i.parent);
24648              return e;
24649            },
24650            matches: function (t) {
24651              return (function (t, e) {
24652                return (
24653                  t.matches ||
24654                  t.matchesSelector ||
24655                  t.msMatchesSelector ||
24656                  t.mozMatchesSelector ||
24657                  t.webkitMatchesSelector ||
24658                  t.oMatchesSelector
24659                ).call(t, e);
24660              })(this.node, t);
24661            },
24662            native: function () {
24663              return this.node;
24664            },
24665            svg: function (t) {
24666              var i = e.createElement("svg");
24667              if (!(t && this instanceof a.Parent))
24668                return (
24669                  i.appendChild((t = e.createElement("svg"))),
24670                  this.writeDataToDom(),
24671                  t.appendChild(this.node.cloneNode(!0)),
24672                  i.innerHTML.replace(/^<svg>/, "").replace(/<\/svg>$/, "")
24673                );
24674              i.innerHTML =
24675                "<svg>" +
24676                t
24677                  .replace(/\n/, "")
24678                  .replace(/<([\w:-]+)([^<]+?)\/>/g, "<$1$2></$1>") +
24679                "</svg>";
24680              for (var s = 0, r = i.firstChild.childNodes.length; s < r; s++)
24681                this.node.appendChild(i.firstChild.firstChild);
24682              return this;
24683            },
24684            writeDataToDom: function () {
24685              return (
24686                (this.each || this.lines) &&
24687                  (this.each ? this : this.lines()).each(function () {
24688                    this.writeDataToDom();
24689                  }),
24690                this.node.removeAttribute("svgjs:data"),
24691                Object.keys(this.dom).length &&
24692                  this.node.setAttribute(
24693                    "svgjs:data",
24694                    JSON.stringify(this.dom)
24695                  ),
24696                this
24697              );
24698            },
24699            setData: function (t) {
24700              return (this.dom = t), this;
24701            },
24702            is: function (t) {
24703              return (function (t, e) {
24704                return t instanceof e;
24705              })(this, t);
24706            },
24707          },
24708        })),
24709        (a.easing = {
24710          "-": function (t) {
24711            return t;
24712          },
24713          "<>": function (t) {
24714            return -Math.cos(t * Math.PI) / 2 + 0.5;
24715          },
24716          ">": function (t) {
24717            return Math.sin((t * Math.PI) / 2);
24718          },
24719          "<": function (t) {
24720            return 1 - Math.cos((t * Math.PI) / 2);
24721          },
24722        }),
24723        (a.morph = function (t) {
24724          return function (e, i) {
24725            return new a.MorphObj(e, i).at(t);
24726          };
24727        }),
24728        (a.Situation = a.invent({
24729          create: function (t) {
24730            (this.init = !1),
24731              (this.reversed = !1),
24732              (this.reversing = !1),
24733              (this.duration = new a.Number(t.duration).valueOf()),
24734              (this.delay = new a.Number(t.delay).valueOf()),
24735              (this.start = +new Date() + this.delay),
24736              (this.finish = this.start + this.duration),
24737              (this.ease = t.ease),
24738              (this.loop = 0),
24739              (this.loops = !1),
24740              (this.animations = {}),
24741              (this.attrs = {}),
24742              (this.styles = {}),
24743              (this.transforms = []),
24744              (this.once = {});
24745          },
24746        })),
24747        (a.FX = a.invent({
24748          create: function (t) {
24749            (this._target = t),
24750              (this.situations = []),
24751              (this.active = !1),
24752              (this.situation = null),
24753              (this.paused = !1),
24754              (this.lastPos = 0),
24755              (this.pos = 0),
24756              (this.absPos = 0),
24757              (this._speed = 1);
24758          },
24759          extend: {
24760            animate: function (t, e, s) {
24761              "object" === i(t) &&
24762                ((e = t.ease), (s = t.delay), (t = t.duration));
24763              var r = new a.Situation({
24764                duration: t || 1e3,
24765                delay: s || 0,
24766                ease: a.easing[e || "-"] || e,
24767              });
24768              return this.queue(r), this;
24769            },
24770            target: function (t) {
24771              return t && t instanceof a.Element
24772                ? ((this._target = t), this)
24773                : this._target;
24774            },
24775            timeToAbsPos: function (t) {
24776              return (
24777                (t - this.situation.start) /
24778                (this.situation.duration / this._speed)
24779              );
24780            },
24781            absPosToTime: function (t) {
24782              return (
24783                (this.situation.duration / this._speed) * t +
24784                this.situation.start
24785              );
24786            },
24787            startAnimFrame: function () {
24788              this.stopAnimFrame(),
24789                (this.animationFrame = t.requestAnimationFrame(
24790                  function () {
24791                    this.step();
24792                  }.bind(this)
24793                ));
24794            },
24795            stopAnimFrame: function () {
24796              t.cancelAnimationFrame(this.animationFrame);
24797            },
24798            start: function () {
24799              return (
24800                !this.active &&
24801                  this.situation &&
24802                  ((this.active = !0), this.startCurrent()),
24803                this
24804              );
24805            },
24806            startCurrent: function () {
24807              return (
24808                (this.situation.start =
24809                  +new Date() + this.situation.delay / this._speed),
24810                (this.situation.finish =
24811                  this.situation.start + this.situation.duration / this._speed),
24812                this.initAnimations().step()
24813              );
24814            },
24815            queue: function (t) {
24816              return (
24817                ("function" == typeof t || t instanceof a.Situation) &&
24818                  this.situations.push(t),
24819                this.situation || (this.situation = this.situations.shift()),
24820                this
24821              );
24822            },
24823            dequeue: function () {
24824              return (
24825                this.stop(),
24826                (this.situation = this.situations.shift()),
24827                this.situation &&
24828                  (this.situation instanceof a.Situation
24829                    ? this.start()
24830                    : this.situation.call(this)),
24831                this
24832              );
24833            },
24834            initAnimations: function () {
24835              var t,
24836                e = this.situation;
24837              if (e.init) return this;
24838              for (var i in e.animations) {
24839                (t = this.target()[i]()),
24840                  Array.isArray(t) || (t = [t]),
24841                  Array.isArray(e.animations[i]) ||
24842                    (e.animations[i] = [e.animations[i]]);
24843                for (var s = t.length; s--; )
24844                  e.animations[i][s] instanceof a.Number &&
24845                    (t[s] = new a.Number(t[s])),
24846                    (e.animations[i][s] = t[s].morph(e.animations[i][s]));
24847              }
24848              for (var i in e.attrs)
24849                e.attrs[i] = new a.MorphObj(this.target().attr(i), e.attrs[i]);
24850              for (var i in e.styles)
24851                e.styles[i] = new a.MorphObj(
24852                  this.target().style(i),
24853                  e.styles[i]
24854                );
24855              return (
24856                (e.initialTransformation = this.target().matrixify()),
24857                (e.init = !0),
24858                this
24859              );
24860            },
24861            clearQueue: function () {
24862              return (this.situations = []), this;
24863            },
24864            clearCurrent: function () {
24865              return (this.situation = null), this;
24866            },
24867            stop: function (t, e) {
24868              var i = this.active;
24869              return (
24870                (this.active = !1),
24871                e && this.clearQueue(),
24872                t &&
24873                  this.situation &&
24874                  (!i && this.startCurrent(), this.atEnd()),
24875                this.stopAnimFrame(),
24876                this.clearCurrent()
24877              );
24878            },
24879            after: function (t) {
24880              var e = this.last();
24881              return (
24882                this.target().on("finished.fx", function i(a) {
24883                  a.detail.situation == e &&
24884                    (t.call(this, e), this.off("finished.fx", i));
24885                }),
24886                this._callStart()
24887              );
24888            },
24889            during: function (t) {
24890              var e = this.last(),
24891                i = function (i) {
24892                  i.detail.situation == e &&
24893                    t.call(
24894                      this,
24895                      i.detail.pos,
24896                      a.morph(i.detail.pos),
24897                      i.detail.eased,
24898                      e
24899                    );
24900                };
24901              return (
24902                this.target().off("during.fx", i).on("during.fx", i),
24903                this.after(function () {
24904                  this.off("during.fx", i);
24905                }),
24906                this._callStart()
24907              );
24908            },
24909            afterAll: function (t) {
24910              var e = function e(i) {
24911                t.call(this), this.off("allfinished.fx", e);
24912              };
24913              return (
24914                this.target().off("allfinished.fx", e).on("allfinished.fx", e),
24915                this._callStart()
24916              );
24917            },
24918            last: function () {
24919              return this.situations.length
24920                ? this.situations[this.situations.length - 1]
24921                : this.situation;
24922            },
24923            add: function (t, e, i) {
24924              return (this.last()[i || "animations"][t] = e), this._callStart();
24925            },
24926            step: function (t) {
24927              var e, i, a;
24928              t || (this.absPos = this.timeToAbsPos(+new Date())),
24929                !1 !== this.situation.loops
24930                  ? ((e = Math.max(this.absPos, 0)),
24931                    (i = Math.floor(e)),
24932                    !0 === this.situation.loops || i < this.situation.loops
24933                      ? ((this.pos = e - i),
24934                        (a = this.situation.loop),
24935                        (this.situation.loop = i))
24936                      : ((this.absPos = this.situation.loops),
24937                        (this.pos = 1),
24938                        (a = this.situation.loop - 1),
24939                        (this.situation.loop = this.situation.loops)),
24940                    this.situation.reversing &&
24941                      (this.situation.reversed =
24942                        this.situation.reversed !=
24943                        Boolean((this.situation.loop - a) % 2)))
24944                  : ((this.absPos = Math.min(this.absPos, 1)),
24945                    (this.pos = this.absPos)),
24946                this.pos < 0 && (this.pos = 0),
24947                this.situation.reversed && (this.pos = 1 - this.pos);
24948              var s = this.situation.ease(this.pos);
24949              for (var r in this.situation.once)
24950                r > this.lastPos &&
24951                  r <= s &&
24952                  (this.situation.once[r].call(this.target(), this.pos, s),
24953                  delete this.situation.once[r]);
24954              return (
24955                this.active &&
24956                  this.target().fire("during", {
24957                    pos: this.pos,
24958                    eased: s,
24959                    fx: this,
24960                    situation: this.situation,
24961                  }),
24962                this.situation
24963                  ? (this.eachAt(),
24964                    (1 == this.pos && !this.situation.reversed) ||
24965                    (this.situation.reversed && 0 == this.pos)
24966                      ? (this.stopAnimFrame(),
24967                        this.target().fire("finished", {
24968                          fx: this,
24969                          situation: this.situation,
24970                        }),
24971                        this.situations.length ||
24972                          (this.target().fire("allfinished"),
24973                          this.situations.length ||
24974                            (this.target().off(".fx"), (this.active = !1))),
24975                        this.active ? this.dequeue() : this.clearCurrent())
24976                      : !this.paused && this.active && this.startAnimFrame(),
24977                    (this.lastPos = s),
24978                    this)
24979                  : this
24980              );
24981            },
24982            eachAt: function () {
24983              var t,
24984                e = this,
24985                i = this.target(),
24986                s = this.situation;
24987              for (var r in s.animations)
24988                (t = [].concat(s.animations[r]).map(function (t) {
24989                  return "string" != typeof t && t.at
24990                    ? t.at(s.ease(e.pos), e.pos)
24991                    : t;
24992                })),
24993                  i[r].apply(i, t);
24994              for (var r in s.attrs)
24995                (t = [r].concat(s.attrs[r]).map(function (t) {
24996                  return "string" != typeof t && t.at
24997                    ? t.at(s.ease(e.pos), e.pos)
24998                    : t;
24999                })),
25000                  i.attr.apply(i, t);
25001              for (var r in s.styles)
25002                (t = [r].concat(s.styles[r]).map(function (t) {
25003                  return "string" != typeof t && t.at
25004                    ? t.at(s.ease(e.pos), e.pos)
25005                    : t;
25006                })),
25007                  i.style.apply(i, t);
25008              if (s.transforms.length) {
25009                (t = s.initialTransformation), (r = 0);
25010                for (var o = s.transforms.length; r < o; r++) {
25011                  var n = s.transforms[r];
25012                  n instanceof a.Matrix
25013                    ? (t = n.relative
25014                        ? t.multiply(
25015                            new a.Matrix().morph(n).at(s.ease(this.pos))
25016                          )
25017                        : t.morph(n).at(s.ease(this.pos)))
25018                    : (n.relative || n.undo(t.extract()),
25019                      (t = t.multiply(n.at(s.ease(this.pos)))));
25020                }
25021                i.matrix(t);
25022              }
25023              return this;
25024            },
25025            once: function (t, e, i) {
25026              var a = this.last();
25027              return i || (t = a.ease(t)), (a.once[t] = e), this;
25028            },
25029            _callStart: function () {
25030              return (
25031                setTimeout(
25032                  function () {
25033                    this.start();
25034                  }.bind(this),
25035                  0
25036                ),
25037                this
25038              );
25039            },
25040          },
25041          parent: a.Element,
25042          construct: {
25043            animate: function (t, e, i) {
25044              return (this.fx || (this.fx = new a.FX(this))).animate(t, e, i);
25045            },
25046            delay: function (t) {
25047              return (this.fx || (this.fx = new a.FX(this))).delay(t);
25048            },
25049            stop: function (t, e) {
25050              return this.fx && this.fx.stop(t, e), this;
25051            },
25052            finish: function () {
25053              return this.fx && this.fx.finish(), this;
25054            },
25055          },
25056        })),
25057        (a.MorphObj = a.invent({
25058          create: function (t, e) {
25059            return a.Color.isColor(e)
25060              ? new a.Color(t).morph(e)
25061              : a.regex.delimiter.test(t)
25062              ? a.regex.pathLetters.test(t)
25063                ? new a.PathArray(t).morph(e)
25064                : new a.Array(t).morph(e)
25065              : a.regex.numberAndUnit.test(e)
25066              ? new a.Number(t).morph(e)
25067              : ((this.value = t), void (this.destination = e));
25068          },
25069          extend: {
25070            at: function (t, e) {
25071              return e < 1 ? this.value : this.destination;
25072            },
25073            valueOf: function () {
25074              return this.value;
25075            },
25076          },
25077        })),
25078        a.extend(a.FX, {
25079          attr: function (t, e, a) {
25080            if ("object" === i(t)) for (var s in t) this.attr(s, t[s]);
25081            else this.add(t, e, "attrs");
25082            return this;
25083          },
25084          plot: function (t, e, i, a) {
25085            return 4 == arguments.length
25086              ? this.plot([t, e, i, a])
25087              : this.add("plot", new (this.target().morphArray)(t));
25088          },
25089        }),
25090        (a.Box = a.invent({
25091          create: function (t, e, s, r) {
25092            if (!("object" !== i(t) || t instanceof a.Element))
25093              return a.Box.call(
25094                this,
25095                null != t.left ? t.left : t.x,
25096                null != t.top ? t.top : t.y,
25097                t.width,
25098                t.height
25099              );
25100            var o;
25101            4 == arguments.length &&
25102              ((this.x = t), (this.y = e), (this.width = s), (this.height = r)),
25103              null == (o = this).x &&
25104                ((o.x = 0), (o.y = 0), (o.width = 0), (o.height = 0)),
25105              (o.w = o.width),
25106              (o.h = o.height),
25107              (o.x2 = o.x + o.width),
25108              (o.y2 = o.y + o.height),
25109              (o.cx = o.x + o.width / 2),
25110              (o.cy = o.y + o.height / 2);
25111          },
25112        })),
25113        (a.BBox = a.invent({
25114          create: function (t) {
25115            if (
25116              (a.Box.apply(this, [].slice.call(arguments)),
25117              t instanceof a.Element)
25118            ) {
25119              var i;
25120              try {
25121                if (!e.documentElement.contains) {
25122                  for (var s = t.node; s.parentNode; ) s = s.parentNode;
25123                  if (s != e) throw new Error("Element not in the dom");
25124                }
25125                i = t.node.getBBox();
25126              } catch (e) {
25127                if (t instanceof a.Shape) {
25128                  a.parser.draw || a.prepare();
25129                  var r = t.clone(a.parser.draw.instance).show();
25130                  r &&
25131                    r.node &&
25132                    "function" == typeof r.node.getBBox &&
25133                    (i = r.node.getBBox()),
25134                    r && "function" == typeof r.remove && r.remove();
25135                } else
25136                  i = {
25137                    x: t.node.clientLeft,
25138                    y: t.node.clientTop,
25139                    width: t.node.clientWidth,
25140                    height: t.node.clientHeight,
25141                  };
25142              }
25143              a.Box.call(this, i);
25144            }
25145          },
25146          inherit: a.Box,
25147          parent: a.Element,
25148          construct: {
25149            bbox: function () {
25150              return new a.BBox(this);
25151            },
25152          },
25153        })),
25154        (a.BBox.prototype.constructor = a.BBox),
25155        (a.Matrix = a.invent({
25156          create: function (t) {
25157            var e = f([1, 0, 0, 1, 0, 0]);
25158            t =
25159              null === t
25160                ? e
25161                : t instanceof a.Element
25162                ? t.matrixify()
25163                : "string" == typeof t
25164                ? f(t.split(a.regex.delimiter).map(parseFloat))
25165                : 6 == arguments.length
25166                ? f([].slice.call(arguments))
25167                : Array.isArray(t)
25168                ? f(t)
25169                : t && "object" === i(t)
25170                ? t
25171                : e;
25172            for (var s = v.length - 1; s >= 0; --s)
25173              this[v[s]] = null != t[v[s]] ? t[v[s]] : e[v[s]];
25174          },
25175          extend: {
25176            extract: function () {
25177              var t = p(this, 0, 1);
25178              p(this, 1, 0);
25179              var e = (180 / Math.PI) * Math.atan2(t.y, t.x) - 90;
25180              return {
25181                x: this.e,
25182                y: this.f,
25183                transformedX:
25184                  (this.e * Math.cos((e * Math.PI) / 180) +
25185                    this.f * Math.sin((e * Math.PI) / 180)) /
25186                  Math.sqrt(this.a * this.a + this.b * this.b),
25187                transformedY:
25188                  (this.f * Math.cos((e * Math.PI) / 180) +
25189                    this.e * Math.sin((-e * Math.PI) / 180)) /
25190                  Math.sqrt(this.c * this.c + this.d * this.d),
25191                rotation: e,
25192                a: this.a,
25193                b: this.b,
25194                c: this.c,
25195                d: this.d,
25196                e: this.e,
25197                f: this.f,
25198                matrix: new a.Matrix(this),
25199              };
25200            },
25201            clone: function () {
25202              return new a.Matrix(this);
25203            },
25204            morph: function (t) {
25205              return (this.destination = new a.Matrix(t)), this;
25206            },
25207            multiply: function (t) {
25208              return new a.Matrix(
25209                this.native().multiply(
25210                  (function (t) {
25211                    return t instanceof a.Matrix || (t = new a.Matrix(t)), t;
25212                  })(t).native()
25213                )
25214              );
25215            },
25216            inverse: function () {
25217              return new a.Matrix(this.native().inverse());
25218            },
25219            translate: function (t, e) {
25220              return new a.Matrix(this.native().translate(t || 0, e || 0));
25221            },
25222            native: function () {
25223              for (
25224                var t = a.parser.native.createSVGMatrix(), e = v.length - 1;
25225                e >= 0;
25226                e--
25227              )
25228                t[v[e]] = this[v[e]];
25229              return t;
25230            },
25231            toString: function () {
25232              return (
25233                "matrix(" +
25234                b(this.a) +
25235                "," +
25236                b(this.b) +
25237                "," +
25238                b(this.c) +
25239                "," +
25240                b(this.d) +
25241                "," +
25242                b(this.e) +
25243                "," +
25244                b(this.f) +
25245                ")"
25246              );
25247            },
25248          },
25249          parent: a.Element,
25250          construct: {
25251            ctm: function () {
25252              return new a.Matrix(this.node.getCTM());
25253            },
25254            screenCTM: function () {
25255              if (this instanceof a.Nested) {
25256                var t = this.rect(1, 1),
25257                  e = t.node.getScreenCTM();
25258                return t.remove(), new a.Matrix(e);
25259              }
25260              return new a.Matrix(this.node.getScreenCTM());
25261            },
25262          },
25263        })),
25264        (a.Point = a.invent({
25265          create: function (t, e) {
25266            var a;
25267            (a = Array.isArray(t)
25268              ? { x: t[0], y: t[1] }
25269              : "object" === i(t)
25270              ? { x: t.x, y: t.y }
25271              : null != t
25272              ? { x: t, y: null != e ? e : t }
25273              : { x: 0, y: 0 }),
25274              (this.x = a.x),
25275              (this.y = a.y);
25276          },
25277          extend: {
25278            clone: function () {
25279              return new a.Point(this);
25280            },
25281            morph: function (t, e) {
25282              return (this.destination = new a.Point(t, e)), this;
25283            },
25284          },
25285        })),
25286        a.extend(a.Element, {
25287          point: function (t, e) {
25288            return new a.Point(t, e).transform(this.screenCTM().inverse());
25289          },
25290        }),
25291        a.extend(a.Element, {
25292          attr: function (t, e, s) {
25293            if (null == t) {
25294              for (
25295                t = {}, s = (e = this.node.attributes).length - 1;
25296                s >= 0;
25297                s--
25298              )
25299                t[e[s].nodeName] = a.regex.isNumber.test(e[s].nodeValue)
25300                  ? parseFloat(e[s].nodeValue)
25301                  : e[s].nodeValue;
25302              return t;
25303            }
25304            if ("object" === i(t)) for (var r in t) this.attr(r, t[r]);
25305            else if (null === e) this.node.removeAttribute(t);
25306            else {
25307              if (null == e)
25308                return null == (e = this.node.getAttribute(t))
25309                  ? a.defaults.attrs[t]
25310                  : a.regex.isNumber.test(e)
25311                  ? parseFloat(e)
25312                  : e;
25313              "stroke-width" == t
25314                ? this.attr("stroke", parseFloat(e) > 0 ? this._stroke : null)
25315                : "stroke" == t && (this._stroke = e),
25316                ("fill" != t && "stroke" != t) ||
25317                  (a.regex.isImage.test(e) &&
25318                    (e = this.doc().defs().image(e, 0, 0)),
25319                  e instanceof a.Image &&
25320                    (e = this.doc()
25321                      .defs()
25322                      .pattern(0, 0, function () {
25323                        this.add(e);
25324                      }))),
25325                "number" == typeof e
25326                  ? (e = new a.Number(e))
25327                  : a.Color.isColor(e)
25328                  ? (e = new a.Color(e))
25329                  : Array.isArray(e) && (e = new a.Array(e)),
25330                "leading" == t
25331                  ? this.leading && this.leading(e)
25332                  : "string" == typeof s
25333                  ? this.node.setAttributeNS(s, t, e.toString())
25334                  : this.node.setAttribute(t, e.toString()),
25335                !this.rebuild ||
25336                  ("font-size" != t && "x" != t) ||
25337                  this.rebuild(t, e);
25338            }
25339            return this;
25340          },
25341        }),
25342        a.extend(a.Element, {
25343          transform: function (t, e) {
25344            var s;
25345            return "object" !== i(t)
25346              ? ((s = new a.Matrix(this).extract()),
25347                "string" == typeof t ? s[t] : s)
25348              : ((s = new a.Matrix(this)),
25349                (e = !!e || !!t.relative),
25350                null != t.a &&
25351                  (s = e ? s.multiply(new a.Matrix(t)) : new a.Matrix(t)),
25352                this.attr("transform", s));
25353          },
25354        }),
25355        a.extend(a.Element, {
25356          untransform: function () {
25357            return this.attr("transform", null);
25358          },
25359          matrixify: function () {
25360            return (this.attr("transform") || "")
25361              .split(a.regex.transforms)
25362              .slice(0, -1)
25363              .map(function (t) {
25364                var e = t.trim().split("(");
25365                return [
25366                  e[0],
25367                  e[1].split(a.regex.delimiter).map(function (t) {
25368                    return parseFloat(t);
25369                  }),
25370                ];
25371              })
25372              .reduce(function (t, e) {
25373                return "matrix" == e[0]
25374                  ? t.multiply(f(e[1]))
25375                  : t[e[0]].apply(t, e[1]);
25376              }, new a.Matrix());
25377          },
25378          toParent: function (t) {
25379            if (this == t) return this;
25380            var e = this.screenCTM(),
25381              i = t.screenCTM().inverse();
25382            return this.addTo(t).untransform().transform(i.multiply(e)), this;
25383          },
25384          toDoc: function () {
25385            return this.toParent(this.doc());
25386          },
25387        }),
25388        (a.Transformation = a.invent({
25389          create: function (t, e) {
25390            if (arguments.length > 1 && "boolean" != typeof e)
25391              return this.constructor.call(this, [].slice.call(arguments));
25392            if (Array.isArray(t))
25393              for (var a = 0, s = this.arguments.length; a < s; ++a)
25394                this[this.arguments[a]] = t[a];
25395            else if (t && "object" === i(t))
25396              for (a = 0, s = this.arguments.length; a < s; ++a)
25397                this[this.arguments[a]] = t[this.arguments[a]];
25398            (this.inversed = !1), !0 === e && (this.inversed = !0);
25399          },
25400        })),
25401        (a.Translate = a.invent({
25402          parent: a.Matrix,
25403          inherit: a.Transformation,
25404          create: function (t, e) {
25405            this.constructor.apply(this, [].slice.call(arguments));
25406          },
25407          extend: {
25408            arguments: ["transformedX", "transformedY"],
25409            method: "translate",
25410          },
25411        })),
25412        a.extend(a.Element, {
25413          style: function (t, e) {
25414            if (0 == arguments.length) return this.node.style.cssText || "";
25415            if (arguments.length < 2)
25416              if ("object" === i(t)) for (var s in t) this.style(s, t[s]);
25417              else {
25418                if (!a.regex.isCss.test(t)) return this.node.style[c(t)];
25419                for (
25420                  t = t
25421                    .split(/\s*;\s*/)
25422                    .filter(function (t) {
25423                      return !!t;
25424                    })
25425                    .map(function (t) {
25426                      return t.split(/\s*:\s*/);
25427                    });
25428                  (e = t.pop());
25429
25430                )
25431                  this.style(e[0], e[1]);
25432              }
25433            else
25434              this.node.style[c(t)] =
25435                null === e || a.regex.isBlank.test(e) ? "" : e;
25436            return this;
25437          },
25438        }),
25439        (a.Parent = a.invent({
25440          create: function (t) {
25441            this.constructor.call(this, t);
25442          },
25443          inherit: a.Element,
25444          extend: {
25445            children: function () {
25446              return a.utils.map(
25447                a.utils.filterSVGElements(this.node.childNodes),
25448                function (t) {
25449                  return a.adopt(t);
25450                }
25451              );
25452            },
25453            add: function (t, e) {
25454              return (
25455                null == e
25456                  ? this.node.appendChild(t.node)
25457                  : t.node != this.node.childNodes[e] &&
25458                    this.node.insertBefore(t.node, this.node.childNodes[e]),
25459                this
25460              );
25461            },
25462            put: function (t, e) {
25463              return this.add(t, e), t;
25464            },
25465            has: function (t) {
25466              return this.index(t) >= 0;
25467            },
25468            index: function (t) {
25469              return [].slice.call(this.node.childNodes).indexOf(t.node);
25470            },
25471            get: function (t) {
25472              return a.adopt(this.node.childNodes[t]);
25473            },
25474            first: function () {
25475              return this.get(0);
25476            },
25477            last: function () {
25478              return this.get(this.node.childNodes.length - 1);
25479            },
25480            each: function (t, e) {
25481              for (var i = this.children(), s = 0, r = i.length; s < r; s++)
25482                i[s] instanceof a.Element && t.apply(i[s], [s, i]),
25483                  e && i[s] instanceof a.Container && i[s].each(t, e);
25484              return this;
25485            },
25486            removeElement: function (t) {
25487              return this.node.removeChild(t.node), this;
25488            },
25489            clear: function () {
25490              for (; this.node.hasChildNodes(); )
25491                this.node.removeChild(this.node.lastChild);
25492              return delete this._defs, this;
25493            },
25494            defs: function () {
25495              return this.doc().defs();
25496            },
25497          },
25498        })),
25499        a.extend(a.Parent, {
25500          ungroup: function (t, e) {
25501            return (
25502              0 === e ||
25503                this instanceof a.Defs ||
25504                this.node == a.parser.draw ||
25505                ((t =
25506                  t || (this instanceof a.Doc ? this : this.parent(a.Parent))),
25507                (e = e || 1 / 0),
25508                this.each(function () {
25509                  return this instanceof a.Defs
25510                    ? this
25511                    : this instanceof a.Parent
25512                    ? this.ungroup(t, e - 1)
25513                    : this.toParent(t);
25514                }),
25515                this.node.firstChild || this.remove()),
25516              this
25517            );
25518          },
25519          flatten: function (t, e) {
25520            return this.ungroup(t, e);
25521          },
25522        }),
25523        (a.Container = a.invent({
25524          create: function (t) {
25525            this.constructor.call(this, t);
25526          },
25527          inherit: a.Parent,
25528        })),
25529        (a.ViewBox = a.invent({ parent: a.Container, construct: {} })),
25530        [
25531          "click",
25532          "dblclick",
25533          "mousedown",
25534          "mouseup",
25535          "mouseover",
25536          "mouseout",
25537          "mousemove",
25538          "touchstart",
25539          "touchmove",
25540          "touchleave",
25541          "touchend",
25542          "touchcancel",
25543        ].forEach(function (t) {
25544          a.Element.prototype[t] = function (e) {
25545            return a.on(this.node, t, e), this;
25546          };
25547        }),
25548        (a.listeners = []),
25549        (a.handlerMap = []),
25550        (a.listenerId = 0),
25551        (a.on = function (t, e, i, s, r) {
25552          var o = i.bind(s || t.instance || t),
25553            n = (a.handlerMap.indexOf(t) + 1 || a.handlerMap.push(t)) - 1,
25554            l = e.split(".")[0],
25555            h = e.split(".")[1] || "*";
25556          (a.listeners[n] = a.listeners[n] || {}),
25557            (a.listeners[n][l] = a.listeners[n][l] || {}),
25558            (a.listeners[n][l][h] = a.listeners[n][l][h] || {}),
25559            i._svgjsListenerId || (i._svgjsListenerId = ++a.listenerId),
25560            (a.listeners[n][l][h][i._svgjsListenerId] = o),
25561            t.addEventListener(l, o, r || { passive: !0 });
25562        }),
25563        (a.off = function (t, e, i) {
25564          var s = a.handlerMap.indexOf(t),
25565            r = e && e.split(".")[0],
25566            o = e && e.split(".")[1],
25567            n = "";
25568          if (-1 != s)
25569            if (i) {
25570              if (("function" == typeof i && (i = i._svgjsListenerId), !i))
25571                return;
25572              a.listeners[s][r] &&
25573                a.listeners[s][r][o || "*"] &&
25574                (t.removeEventListener(r, a.listeners[s][r][o || "*"][i], !1),
25575                delete a.listeners[s][r][o || "*"][i]);
25576            } else if (o && r) {
25577              if (a.listeners[s][r] && a.listeners[s][r][o]) {
25578                for (var l in a.listeners[s][r][o])
25579                  a.off(t, [r, o].join("."), l);
25580                delete a.listeners[s][r][o];
25581              }
25582            } else if (o)
25583              for (var h in a.listeners[s])
25584                for (var n in a.listeners[s][h])
25585                  o === n && a.off(t, [h, o].join("."));
25586            else if (r) {
25587              if (a.listeners[s][r]) {
25588                for (var n in a.listeners[s][r]) a.off(t, [r, n].join("."));
25589                delete a.listeners[s][r];
25590              }
25591            } else {
25592              for (var h in a.listeners[s]) a.off(t, h);
25593              delete a.listeners[s], delete a.handlerMap[s];
25594            }
25595        }),
25596        a.extend(a.Element, {
25597          on: function (t, e, i, s) {
25598            return a.on(this.node, t, e, i, s), this;
25599          },
25600          off: function (t, e) {
25601            return a.off(this.node, t, e), this;
25602          },
25603          fire: function (e, i) {
25604            return (
25605              e instanceof t.Event
25606                ? this.node.dispatchEvent(e)
25607                : this.node.dispatchEvent(
25608                    (e = new a.CustomEvent(e, { detail: i, cancelable: !0 }))
25609                  ),
25610              (this._event = e),
25611              this
25612            );
25613          },
25614          event: function () {
25615            return this._event;
25616          },
25617        }),
25618        (a.Defs = a.invent({ create: "defs", inherit: a.Container })),
25619        (a.G = a.invent({
25620          create: "g",
25621          inherit: a.Container,
25622          extend: {
25623            x: function (t) {
25624              return null == t
25625                ? this.transform("x")
25626                : this.transform({ x: t - this.x() }, !0);
25627            },
25628          },
25629          construct: {
25630            group: function () {
25631              return this.put(new a.G());
25632            },
25633          },
25634        })),
25635        (a.Doc = a.invent({
25636          create: function (t) {
25637            t &&
25638              ("svg" ==
25639              (t = "string" == typeof t ? e.getElementById(t) : t).nodeName
25640                ? this.constructor.call(this, t)
25641                : (this.constructor.call(this, a.create("svg")),
25642                  t.appendChild(this.node),
25643                  this.size("100%", "100%")),
25644              this.namespace().defs());
25645          },
25646          inherit: a.Container,
25647          extend: {
25648            namespace: function () {
25649              return this.attr({ xmlns: a.ns, version: "1.1" })
25650                .attr("xmlns:xlink", a.xlink, a.xmlns)
25651                .attr("xmlns:svgjs", a.svgjs, a.xmlns);
25652            },
25653            defs: function () {
25654              var t;
25655              return (
25656                this._defs ||
25657                  ((t = this.node.getElementsByTagName("defs")[0])
25658                    ? (this._defs = a.adopt(t))
25659                    : (this._defs = new a.Defs()),
25660                  this.node.appendChild(this._defs.node)),
25661                this._defs
25662              );
25663            },
25664            parent: function () {
25665              return this.node.parentNode &&
25666                "#document" != this.node.parentNode.nodeName
25667                ? this.node.parentNode
25668                : null;
25669            },
25670            remove: function () {
25671              return (
25672                this.parent() && this.parent().removeChild(this.node), this
25673              );
25674            },
25675            clear: function () {
25676              for (; this.node.hasChildNodes(); )
25677                this.node.removeChild(this.node.lastChild);
25678              return (
25679                delete this._defs,
25680                a.parser.draw &&
25681                  !a.parser.draw.parentNode &&
25682                  this.node.appendChild(a.parser.draw),
25683                this
25684              );
25685            },
25686            clone: function (t) {
25687              this.writeDataToDom();
25688              var e = this.node,
25689                i = x(e.cloneNode(!0));
25690              return (
25691                t
25692                  ? (t.node || t).appendChild(i.node)
25693                  : e.parentNode.insertBefore(i.node, e.nextSibling),
25694                i
25695              );
25696            },
25697          },
25698        })),
25699        a.extend(a.Element, {}),
25700        (a.Gradient = a.invent({
25701          create: function (t) {
25702            this.constructor.call(this, a.create(t + "Gradient")),
25703              (this.type = t);
25704          },
25705          inherit: a.Container,
25706          extend: {
25707            at: function (t, e, i) {
25708              return this.put(new a.Stop()).update(t, e, i);
25709            },
25710            update: function (t) {
25711              return (
25712                this.clear(), "function" == typeof t && t.call(this, this), this
25713              );
25714            },
25715            fill: function () {
25716              return "url(#" + this.id() + ")";
25717            },
25718            toString: function () {
25719              return this.fill();
25720            },
25721            attr: function (t, e, i) {
25722              return (
25723                "transform" == t && (t = "gradientTransform"),
25724                a.Container.prototype.attr.call(this, t, e, i)
25725              );
25726            },
25727          },
25728          construct: {
25729            gradient: function (t, e) {
25730              return this.defs().gradient(t, e);
25731            },
25732          },
25733        })),
25734        a.extend(a.Gradient, a.FX, {
25735          from: function (t, e) {
25736            return "radial" == (this._target || this).type
25737              ? this.attr({ fx: new a.Number(t), fy: new a.Number(e) })
25738              : this.attr({ x1: new a.Number(t), y1: new a.Number(e) });
25739          },
25740          to: function (t, e) {
25741            return "radial" == (this._target || this).type
25742              ? this.attr({ cx: new a.Number(t), cy: new a.Number(e) })
25743              : this.attr({ x2: new a.Number(t), y2: new a.Number(e) });
25744          },
25745        }),
25746        a.extend(a.Defs, {
25747          gradient: function (t, e) {
25748            return this.put(new a.Gradient(t)).update(e);
25749          },
25750        }),
25751        (a.Stop = a.invent({
25752          create: "stop",
25753          inherit: a.Element,
25754          extend: {
25755            update: function (t) {
25756              return (
25757                ("number" == typeof t || t instanceof a.Number) &&
25758                  (t = {
25759                    offset: arguments[0],
25760                    color: arguments[1],
25761                    opacity: arguments[2],
25762                  }),
25763                null != t.opacity && this.attr("stop-opacity", t.opacity),
25764                null != t.color && this.attr("stop-color", t.color),
25765                null != t.offset && this.attr("offset", new a.Number(t.offset)),
25766                this
25767              );
25768            },
25769          },
25770        })),
25771        (a.Pattern = a.invent({
25772          create: "pattern",
25773          inherit: a.Container,
25774          extend: {
25775            fill: function () {
25776              return "url(#" + this.id() + ")";
25777            },
25778            update: function (t) {
25779              return (
25780                this.clear(), "function" == typeof t && t.call(this, this), this
25781              );
25782            },
25783            toString: function () {
25784              return this.fill();
25785            },
25786            attr: function (t, e, i) {
25787              return (
25788                "transform" == t && (t = "patternTransform"),
25789                a.Container.prototype.attr.call(this, t, e, i)
25790              );
25791            },
25792          },
25793          construct: {
25794            pattern: function (t, e, i) {
25795              return this.defs().pattern(t, e, i);
25796            },
25797          },
25798        })),
25799        a.extend(a.Defs, {
25800          pattern: function (t, e, i) {
25801            return this.put(new a.Pattern())
25802              .update(i)
25803              .attr({
25804                x: 0,
25805                y: 0,
25806                width: t,
25807                height: e,
25808                patternUnits: "userSpaceOnUse",
25809              });
25810          },
25811        }),
25812        (a.Shape = a.invent({
25813          create: function (t) {
25814            this.constructor.call(this, t);
25815          },
25816          inherit: a.Element,
25817        })),
25818        (a.Symbol = a.invent({
25819          create: "symbol",
25820          inherit: a.Container,
25821          construct: {
25822            symbol: function () {
25823              return this.put(new a.Symbol());
25824            },
25825          },
25826        })),
25827        (a.Use = a.invent({
25828          create: "use",
25829          inherit: a.Shape,
25830          extend: {
25831            element: function (t, e) {
25832              return this.attr("href", (e || "") + "#" + t, a.xlink);
25833            },
25834          },
25835          construct: {
25836            use: function (t, e) {
25837              return this.put(new a.Use()).element(t, e);
25838            },
25839          },
25840        })),
25841        (a.Rect = a.invent({
25842          create: "rect",
25843          inherit: a.Shape,
25844          construct: {
25845            rect: function (t, e) {
25846              return this.put(new a.Rect()).size(t, e);
25847            },
25848          },
25849        })),
25850        (a.Circle = a.invent({
25851          create: "circle",
25852          inherit: a.Shape,
25853          construct: {
25854            circle: function (t) {
25855              return this.put(new a.Circle())
25856                .rx(new a.Number(t).divide(2))
25857                .move(0, 0);
25858            },
25859          },
25860        })),
25861        a.extend(a.Circle, a.FX, {
25862          rx: function (t) {
25863            return this.attr("r", t);
25864          },
25865          ry: function (t) {
25866            return this.rx(t);
25867          },
25868        }),
25869        (a.Ellipse = a.invent({
25870          create: "ellipse",
25871          inherit: a.Shape,
25872          construct: {
25873            ellipse: function (t, e) {
25874              return this.put(new a.Ellipse()).size(t, e).move(0, 0);
25875            },
25876          },
25877        })),
25878        a.extend(a.Ellipse, a.Rect, a.FX, {
25879          rx: function (t) {
25880            return this.attr("rx", t);
25881          },
25882          ry: function (t) {
25883            return this.attr("ry", t);
25884          },
25885        }),
25886        a.extend(a.Circle, a.Ellipse, {
25887          x: function (t) {
25888            return null == t ? this.cx() - this.rx() : this.cx(t + this.rx());
25889          },
25890          y: function (t) {
25891            return null == t ? this.cy() - this.ry() : this.cy(t + this.ry());
25892          },
25893          cx: function (t) {
25894            return null == t ? this.attr("cx") : this.attr("cx", t);
25895          },
25896          cy: function (t) {
25897            return null == t ? this.attr("cy") : this.attr("cy", t);
25898          },
25899          width: function (t) {
25900            return null == t
25901              ? 2 * this.rx()
25902              : this.rx(new a.Number(t).divide(2));
25903          },
25904          height: function (t) {
25905            return null == t
25906              ? 2 * this.ry()
25907              : this.ry(new a.Number(t).divide(2));
25908          },
25909          size: function (t, e) {
25910            var i = u(this, t, e);
25911            return this.rx(new a.Number(i.width).divide(2)).ry(
25912              new a.Number(i.height).divide(2)
25913            );
25914          },
25915        }),
25916        (a.Line = a.invent({
25917          create: "line",
25918          inherit: a.Shape,
25919          extend: {
25920            array: function () {
25921              return new a.PointArray([
25922                [this.attr("x1"), this.attr("y1")],
25923                [this.attr("x2"), this.attr("y2")],
25924              ]);
25925            },
25926            plot: function (t, e, i, s) {
25927              return null == t
25928                ? this.array()
25929                : ((t =
25930                    void 0 !== e
25931                      ? { x1: t, y1: e, x2: i, y2: s }
25932                      : new a.PointArray(t).toLine()),
25933                  this.attr(t));
25934            },
25935            move: function (t, e) {
25936              return this.attr(this.array().move(t, e).toLine());
25937            },
25938            size: function (t, e) {
25939              var i = u(this, t, e);
25940              return this.attr(this.array().size(i.width, i.height).toLine());
25941            },
25942          },
25943          construct: {
25944            line: function (t, e, i, s) {
25945              return a.Line.prototype.plot.apply(
25946                this.put(new a.Line()),
25947                null != t ? [t, e, i, s] : [0, 0, 0, 0]
25948              );
25949            },
25950          },
25951        })),
25952        (a.Polyline = a.invent({
25953          create: "polyline",
25954          inherit: a.Shape,
25955          construct: {
25956            polyline: function (t) {
25957              return this.put(new a.Polyline()).plot(t || new a.PointArray());
25958            },
25959          },
25960        })),
25961        (a.Polygon = a.invent({
25962          create: "polygon",
25963          inherit: a.Shape,
25964          construct: {
25965            polygon: function (t) {
25966              return this.put(new a.Polygon()).plot(t || new a.PointArray());
25967            },
25968          },
25969        })),
25970        a.extend(a.Polyline, a.Polygon, {
25971          array: function () {
25972            return (
25973              this._array ||
25974              (this._array = new a.PointArray(this.attr("points")))
25975            );
25976          },
25977          plot: function (t) {
25978            return null == t
25979              ? this.array()
25980              : this.clear().attr(
25981                  "points",
25982                  "string" == typeof t ? t : (this._array = new a.PointArray(t))
25983                );
25984          },
25985          clear: function () {
25986            return delete this._array, this;
25987          },
25988          move: function (t, e) {
25989            return this.attr("points", this.array().move(t, e));
25990          },
25991          size: function (t, e) {
25992            var i = u(this, t, e);
25993            return this.attr("points", this.array().size(i.width, i.height));
25994          },
25995        }),
25996        a.extend(a.Line, a.Polyline, a.Polygon, {
25997          morphArray: a.PointArray,
25998          x: function (t) {
25999            return null == t ? this.bbox().x : this.move(t, this.bbox().y);
26000          },
26001          y: function (t) {
26002            return null == t ? this.bbox().y : this.move(this.bbox().x, t);
26003          },
26004          width: function (t) {
26005            var e = this.bbox();
26006            return null == t ? e.width : this.size(t, e.height);
26007          },
26008          height: function (t) {
26009            var e = this.bbox();
26010            return null == t ? e.height : this.size(e.width, t);
26011          },
26012        }),
26013        (a.Path = a.invent({
26014          create: "path",
26015          inherit: a.Shape,
26016          extend: {
26017            morphArray: a.PathArray,
26018            array: function () {
26019              return (
26020                this._array || (this._array = new a.PathArray(this.attr("d")))
26021              );
26022            },
26023            plot: function (t) {
26024              return null == t
26025                ? this.array()
26026                : this.clear().attr(
26027                    "d",
26028                    "string" == typeof t
26029                      ? t
26030                      : (this._array = new a.PathArray(t))
26031                  );
26032            },
26033            clear: function () {
26034              return delete this._array, this;
26035            },
26036          },
26037          construct: {
26038            path: function (t) {
26039              return this.put(new a.Path()).plot(t || new a.PathArray());
26040            },
26041          },
26042        })),
26043        (a.Image = a.invent({
26044          create: "image",
26045          inherit: a.Shape,
26046          extend: {
26047            load: function (e) {
26048              if (!e) return this;
26049              var i = this,
26050                s = new t.Image();
26051              return (
26052                a.on(s, "load", function () {
26053                  a.off(s);
26054                  var t = i.parent(a.Pattern);
26055                  null !== t &&
26056                    (0 == i.width() &&
26057                      0 == i.height() &&
26058                      i.size(s.width, s.height),
26059                    t &&
26060                      0 == t.width() &&
26061                      0 == t.height() &&
26062                      t.size(i.width(), i.height()),
26063                    "function" == typeof i._loaded &&
26064                      i._loaded.call(i, {
26065                        width: s.width,
26066                        height: s.height,
26067                        ratio: s.width / s.height,
26068                        url: e,
26069                      }));
26070                }),
26071                a.on(s, "error", function (t) {
26072                  a.off(s),
26073                    "function" == typeof i._error && i._error.call(i, t);
26074                }),
26075                this.attr("href", (s.src = this.src = e), a.xlink)
26076              );
26077            },
26078            loaded: function (t) {
26079              return (this._loaded = t), this;
26080            },
26081            error: function (t) {
26082              return (this._error = t), this;
26083            },
26084          },
26085          construct: {
26086            image: function (t, e, i) {
26087              return this.put(new a.Image())
26088                .load(t)
26089                .size(e || 0, i || e || 0);
26090            },
26091          },
26092        })),
26093        (a.Text = a.invent({
26094          create: function () {
26095            this.constructor.call(this, a.create("text")),
26096              (this.dom.leading = new a.Number(1.3)),
26097              (this._rebuild = !0),
26098              (this._build = !1),
26099              this.attr("font-family", a.defaults.attrs["font-family"]);
26100          },
26101          inherit: a.Shape,
26102          extend: {
26103            x: function (t) {
26104              return null == t ? this.attr("x") : this.attr("x", t);
26105            },
26106            text: function (t) {
26107              if (void 0 === t) {
26108                t = "";
26109                for (
26110                  var e = this.node.childNodes, i = 0, s = e.length;
26111                  i < s;
26112                  ++i
26113                )
26114                  0 != i &&
26115                    3 != e[i].nodeType &&
26116                    1 == a.adopt(e[i]).dom.newLined &&
26117                    (t += "\n"),
26118                    (t += e[i].textContent);
26119                return t;
26120              }
26121              if ((this.clear().build(!0), "function" == typeof t))
26122                t.call(this, this);
26123              else {
26124                i = 0;
26125                for (var r = (t = t.split("\n")).length; i < r; i++)
26126                  this.tspan(t[i]).newLine();
26127              }
26128              return this.build(!1).rebuild();
26129            },
26130            size: function (t) {
26131              return this.attr("font-size", t).rebuild();
26132            },
26133            leading: function (t) {
26134              return null == t
26135                ? this.dom.leading
26136                : ((this.dom.leading = new a.Number(t)), this.rebuild());
26137            },
26138            lines: function () {
26139              var t = ((this.textPath && this.textPath()) || this).node,
26140                e = a.utils.map(
26141                  a.utils.filterSVGElements(t.childNodes),
26142                  function (t) {
26143                    return a.adopt(t);
26144                  }
26145                );
26146              return new a.Set(e);
26147            },
26148            rebuild: function (t) {
26149              if (
26150                ("boolean" == typeof t && (this._rebuild = t), this._rebuild)
26151              ) {
26152                var e = this,
26153                  i = 0,
26154                  s = this.dom.leading * new a.Number(this.attr("font-size"));
26155                this.lines().each(function () {
26156                  this.dom.newLined &&
26157                    (e.textPath() || this.attr("x", e.attr("x")),
26158                    "\n" == this.text()
26159                      ? (i += s)
26160                      : (this.attr("dy", s + i), (i = 0)));
26161                }),
26162                  this.fire("rebuild");
26163              }
26164              return this;
26165            },
26166            build: function (t) {
26167              return (this._build = !!t), this;
26168            },
26169            setData: function (t) {
26170              return (
26171                (this.dom = t),
26172                (this.dom.leading = new a.Number(t.leading || 1.3)),
26173                this
26174              );
26175            },
26176          },
26177          construct: {
26178            text: function (t) {
26179              return this.put(new a.Text()).text(t);
26180            },
26181            plain: function (t) {
26182              return this.put(new a.Text()).plain(t);
26183            },
26184          },
26185        })),
26186        (a.Tspan = a.invent({
26187          create: "tspan",
26188          inherit: a.Shape,
26189          extend: {
26190            text: function (t) {
26191              return null == t
26192                ? this.node.textContent + (this.dom.newLined ? "\n" : "")
26193                : ("function" == typeof t ? t.call(this, this) : this.plain(t),
26194                  this);
26195            },
26196            dx: function (t) {
26197              return this.attr("dx", t);
26198            },
26199            dy: function (t) {
26200              return this.attr("dy", t);
26201            },
26202            newLine: function () {
26203              var t = this.parent(a.Text);
26204              return (
26205                (this.dom.newLined = !0),
26206                this.dy(t.dom.leading * t.attr("font-size")).attr("x", t.x())
26207              );
26208            },
26209          },
26210        })),
26211        a.extend(a.Text, a.Tspan, {
26212          plain: function (t) {
26213            return (
26214              !1 === this._build && this.clear(),
26215              this.node.appendChild(e.createTextNode(t)),
26216              this
26217            );
26218          },
26219          tspan: function (t) {
26220            var e = ((this.textPath && this.textPath()) || this).node,
26221              i = new a.Tspan();
26222            return (
26223              !1 === this._build && this.clear(),
26224              e.appendChild(i.node),
26225              i.text(t)
26226            );
26227          },
26228          clear: function () {
26229            for (
26230              var t = ((this.textPath && this.textPath()) || this).node;
26231              t.hasChildNodes();
26232
26233            )
26234              t.removeChild(t.lastChild);
26235            return this;
26236          },
26237          length: function () {
26238            return this.node.getComputedTextLength();
26239          },
26240        }),
26241        (a.TextPath = a.invent({
26242          create: "textPath",
26243          inherit: a.Parent,
26244          parent: a.Text,
26245          construct: {
26246            morphArray: a.PathArray,
26247            array: function () {
26248              var t = this.track();
26249              return t ? t.array() : null;
26250            },
26251            plot: function (t) {
26252              var e = this.track(),
26253                i = null;
26254              return e && (i = e.plot(t)), null == t ? i : this;
26255            },
26256            track: function () {
26257              var t = this.textPath();
26258              if (t) return t.reference("href");
26259            },
26260            textPath: function () {
26261              if (
26262                this.node.firstChild &&
26263                "textPath" == this.node.firstChild.nodeName
26264              )
26265                return a.adopt(this.node.firstChild);
26266            },
26267          },
26268        })),
26269        (a.Nested = a.invent({
26270          create: function () {
26271            this.constructor.call(this, a.create("svg")),
26272              this.style("overflow", "visible");
26273          },
26274          inherit: a.Container,
26275          construct: {
26276            nested: function () {
26277              return this.put(new a.Nested());
26278            },
26279          },
26280        }));
26281      var l = {
26282        stroke: [
26283          "color",
26284          "width",
26285          "opacity",
26286          "linecap",
26287          "linejoin",
26288          "miterlimit",
26289          "dasharray",
26290          "dashoffset",
26291        ],
26292        fill: ["color", "opacity", "rule"],
26293        prefix: function (t, e) {
26294          return "color" == e ? t : t + "-" + e;
26295        },
26296      };
26297      function h(t, e, i, s) {
26298        return i + s.replace(a.regex.dots, " .");
26299      }
26300      function c(t) {
26301        return t.toLowerCase().replace(/-(.)/g, function (t, e) {
26302          return e.toUpperCase();
26303        });
26304      }
26305      function d(t) {
26306        return t.charAt(0).toUpperCase() + t.slice(1);
26307      }
26308      function g(t) {
26309        var e = t.toString(16);
26310        return 1 == e.length ? "0" + e : e;
26311      }
26312      function u(t, e, i) {
26313        if (null == e || null == i) {
26314          var a = t.bbox();
26315          null == e
26316            ? (e = (a.width / a.height) * i)
26317            : null == i && (i = (a.height / a.width) * e);
26318        }
26319        return { width: e, height: i };
26320      }
26321      function p(t, e, i) {
26322        return { x: e * t.a + i * t.c + 0, y: e * t.b + i * t.d + 0 };
26323      }
26324      function f(t) {
26325        return { a: t[0], b: t[1], c: t[2], d: t[3], e: t[4], f: t[5] };
26326      }
26327      function x(e) {
26328        for (var i = e.childNodes.length - 1; i >= 0; i--)
26329          e.childNodes[i] instanceof t.SVGElement && x(e.childNodes[i]);
26330        return a.adopt(e).id(a.eid(e.nodeName));
26331      }
26332      function b(t) {
26333        return Math.abs(t) > 1e-37 ? t : 0;
26334      }
26335      ["fill", "stroke"].forEach(function (t) {
26336        var e = {};
26337        (e[t] = function (e) {
26338          if (void 0 === e) return this;
26339          if (
26340            "string" == typeof e ||
26341            a.Color.isRgb(e) ||
26342            (e && "function" == typeof e.fill)
26343          )
26344            this.attr(t, e);
26345          else
26346            for (var i = l[t].length - 1; i >= 0; i--)
26347              null != e[l[t][i]] && this.attr(l.prefix(t, l[t][i]), e[l[t][i]]);
26348          return this;
26349        }),
26350          a.extend(a.Element, a.FX, e);
26351      }),
26352        a.extend(a.Element, a.FX, {
26353          translate: function (t, e) {
26354            return this.transform({ x: t, y: e });
26355          },
26356          matrix: function (t) {
26357            return this.attr(
26358              "transform",
26359              new a.Matrix(6 == arguments.length ? [].slice.call(arguments) : t)
26360            );
26361          },
26362          opacity: function (t) {
26363            return this.attr("opacity", t);
26364          },
26365          dx: function (t) {
26366            return this.x(
26367              new a.Number(t).plus(this instanceof a.FX ? 0 : this.x()),
26368              !0
26369            );
26370          },
26371          dy: function (t) {
26372            return this.y(
26373              new a.Number(t).plus(this instanceof a.FX ? 0 : this.y()),
26374              !0
26375            );
26376          },
26377        }),
26378        a.extend(a.Path, {
26379          length: function () {
26380            return this.node.getTotalLength();
26381          },
26382          pointAt: function (t) {
26383            return this.node.getPointAtLength(t);
26384          },
26385        }),
26386        (a.Set = a.invent({
26387          create: function (t) {
26388            Array.isArray(t) ? (this.members = t) : this.clear();
26389          },
26390          extend: {
26391            add: function () {
26392              for (
26393                var t = [].slice.call(arguments), e = 0, i = t.length;
26394                e < i;
26395                e++
26396              )
26397                this.members.push(t[e]);
26398              return this;
26399            },
26400            remove: function (t) {
26401              var e = this.index(t);
26402              return e > -1 && this.members.splice(e, 1), this;
26403            },
26404            each: function (t) {
26405              for (var e = 0, i = this.members.length; e < i; e++)
26406                t.apply(this.members[e], [e, this.members]);
26407              return this;
26408            },
26409            clear: function () {
26410              return (this.members = []), this;
26411            },
26412            length: function () {
26413              return this.members.length;
26414            },
26415            has: function (t) {
26416              return this.index(t) >= 0;
26417            },
26418            index: function (t) {
26419              return this.members.indexOf(t);
26420            },
26421            get: function (t) {
26422              return this.members[t];
26423            },
26424            first: function () {
26425              return this.get(0);
26426            },
26427            last: function () {
26428              return this.get(this.members.length - 1);
26429            },
26430            valueOf: function () {
26431              return this.members;
26432            },
26433          },
26434          construct: {
26435            set: function (t) {
26436              return new a.Set(t);
26437            },
26438          },
26439        })),
26440        (a.FX.Set = a.invent({
26441          create: function (t) {
26442            this.set = t;
26443          },
26444        })),
26445        (a.Set.inherit = function () {
26446          var t = [];
26447          for (var e in a.Shape.prototype)
26448            "function" == typeof a.Shape.prototype[e] &&
26449              "function" != typeof a.Set.prototype[e] &&
26450              t.push(e);
26451          for (var e in (t.forEach(function (t) {
26452            a.Set.prototype[t] = function () {
26453              for (var e = 0, i = this.members.length; e < i; e++)
26454                this.members[e] &&
26455                  "function" == typeof this.members[e][t] &&
26456                  this.members[e][t].apply(this.members[e], arguments);
26457              return "animate" == t
26458                ? this.fx || (this.fx = new a.FX.Set(this))
26459                : this;
26460            };
26461          }),
26462          (t = []),
26463          a.FX.prototype))
26464            "function" == typeof a.FX.prototype[e] &&
26465              "function" != typeof a.FX.Set.prototype[e] &&
26466              t.push(e);
26467          t.forEach(function (t) {
26468            a.FX.Set.prototype[t] = function () {
26469              for (var e = 0, i = this.set.members.length; e < i; e++)
26470                this.set.members[e].fx[t].apply(
26471                  this.set.members[e].fx,
26472                  arguments
26473                );
26474              return this;
26475            };
26476          });
26477        }),
26478        a.extend(a.Element, {}),
26479        a.extend(a.Element, {
26480          remember: function (t, e) {
26481            if ("object" === i(arguments[0]))
26482              for (var a in t) this.remember(a, t[a]);
26483            else {
26484              if (1 == arguments.length) return this.memory()[t];
26485              this.memory()[t] = e;
26486            }
26487            return this;
26488          },
26489          forget: function () {
26490            if (0 == arguments.length) this._memory = {};
26491            else
26492              for (var t = arguments.length - 1; t >= 0; t--)
26493                delete this.memory()[arguments[t]];
26494            return this;
26495          },
26496          memory: function () {
26497            return this._memory || (this._memory = {});
26498          },
26499        }),
26500        (a.get = function (t) {
26501          var i = e.getElementById(
26502            (function (t) {
26503              var e = (t || "").toString().match(a.regex.reference);
26504              if (e) return e[1];
26505            })(t) || t
26506          );
26507          return a.adopt(i);
26508        }),
26509        (a.select = function (t, i) {
26510          return new a.Set(
26511            a.utils.map((i || e).querySelectorAll(t), function (t) {
26512              return a.adopt(t);
26513            })
26514          );
26515        }),
26516        a.extend(a.Parent, {
26517          select: function (t) {
26518            return a.select(t, this.node);
26519          },
26520        });
26521      var v = "abcdef".split("");
26522      if ("function" != typeof t.CustomEvent) {
26523        var m = function (t, i) {
26524          i = i || { bubbles: !1, cancelable: !1, detail: void 0 };
26525          var a = e.createEvent("CustomEvent");
26526          return a.initCustomEvent(t, i.bubbles, i.cancelable, i.detail), a;
26527        };
26528        (m.prototype = t.Event.prototype), (a.CustomEvent = m);
26529      } else a.CustomEvent = t.CustomEvent;
26530      return a;
26531    }),
26532    "function" == typeof define && define.amd
26533      ? define(function () {
26534          return Ht(Rt, Rt.document);
26535        })
26536      : "object" ===
26537          ("undefined" == typeof exports ? "undefined" : i(exports)) &&
26538        "undefined" != typeof module
26539      ? (module.exports = Rt.document
26540          ? Ht(Rt, Rt.document)
26541          : function (t) {
26542              return Ht(t, t.document);
26543            })
26544      : (Rt.SVG = Ht(Rt, Rt.document)),
26545    /*! svg.filter.js - v2.0.2 - 2016-02-24
26546     * https://github.com/wout/svg.filter.js
26547     * Copyright (c) 2016 Wout Fierens; Licensed MIT */
26548    function () {
26549      (SVG.Filter = SVG.invent({
26550        create: "filter",
26551        inherit: SVG.Parent,
26552        extend: {
26553          source: "SourceGraphic",
26554          sourceAlpha: "SourceAlpha",
26555          background: "BackgroundImage",
26556          backgroundAlpha: "BackgroundAlpha",
26557          fill: "FillPaint",
26558          stroke: "StrokePaint",
26559          autoSetIn: !0,
26560          put: function (t, e) {
26561            return (
26562              this.add(t, e),
26563              !t.attr("in") && this.autoSetIn && t.attr("in", this.source),
26564              t.attr("result") || t.attr("result", t),
26565              t
26566            );
26567          },
26568          blend: function (t, e, i) {
26569            return this.put(new SVG.BlendEffect(t, e, i));
26570          },
26571          colorMatrix: function (t, e) {
26572            return this.put(new SVG.ColorMatrixEffect(t, e));
26573          },
26574          convolveMatrix: function (t) {
26575            return this.put(new SVG.ConvolveMatrixEffect(t));
26576          },
26577          componentTransfer: function (t) {
26578            return this.put(new SVG.ComponentTransferEffect(t));
26579          },
26580          composite: function (t, e, i) {
26581            return this.put(new SVG.CompositeEffect(t, e, i));
26582          },
26583          flood: function (t, e) {
26584            return this.put(new SVG.FloodEffect(t, e));
26585          },
26586          offset: function (t, e) {
26587            return this.put(new SVG.OffsetEffect(t, e));
26588          },
26589          image: function (t) {
26590            return this.put(new SVG.ImageEffect(t));
26591          },
26592          merge: function () {
26593            var t = [void 0];
26594            for (var e in arguments) t.push(arguments[e]);
26595            return this.put(
26596              new (SVG.MergeEffect.bind.apply(SVG.MergeEffect, t))()
26597            );
26598          },
26599          gaussianBlur: function (t, e) {
26600            return this.put(new SVG.GaussianBlurEffect(t, e));
26601          },
26602          morphology: function (t, e) {
26603            return this.put(new SVG.MorphologyEffect(t, e));
26604          },
26605          diffuseLighting: function (t, e, i) {
26606            return this.put(new SVG.DiffuseLightingEffect(t, e, i));
26607          },
26608          displacementMap: function (t, e, i, a, s) {
26609            return this.put(new SVG.DisplacementMapEffect(t, e, i, a, s));
26610          },
26611          specularLighting: function (t, e, i, a) {
26612            return this.put(new SVG.SpecularLightingEffect(t, e, i, a));
26613          },
26614          tile: function () {
26615            return this.put(new SVG.TileEffect());
26616          },
26617          turbulence: function (t, e, i, a, s) {
26618            return this.put(new SVG.TurbulenceEffect(t, e, i, a, s));
26619          },
26620          toString: function () {
26621            return "url(#" + this.attr("id") + ")";
26622          },
26623        },
26624      })),
26625        SVG.extend(SVG.Defs, {
26626          filter: function (t) {
26627            var e = this.put(new SVG.Filter());
26628            return "function" == typeof t && t.call(e, e), e;
26629          },
26630        }),
26631        SVG.extend(SVG.Container, {
26632          filter: function (t) {
26633            return this.defs().filter(t);
26634          },
26635        }),
26636        SVG.extend(SVG.Element, SVG.G, SVG.Nested, {
26637          filter: function (t) {
26638            return (
26639              (this.filterer =
26640                t instanceof SVG.Element ? t : this.doc().filter(t)),
26641              this.doc() &&
26642                this.filterer.doc() !== this.doc() &&
26643                this.doc().defs().add(this.filterer),
26644              this.attr("filter", this.filterer),
26645              this.filterer
26646            );
26647          },
26648          unfilter: function (t) {
26649            return (
26650              this.filterer && !0 === t && this.filterer.remove(),
26651              delete this.filterer,
26652              this.attr("filter", null)
26653            );
26654          },
26655        }),
26656        (SVG.Effect = SVG.invent({
26657          create: function () {
26658            this.constructor.call(this);
26659          },
26660          inherit: SVG.Element,
26661          extend: {
26662            in: function (t) {
26663              return null == t
26664                ? (this.parent() &&
26665                    this.parent()
26666                      .select('[result="' + this.attr("in") + '"]')
26667                      .get(0)) ||
26668                    this.attr("in")
26669                : this.attr("in", t);
26670            },
26671            result: function (t) {
26672              return null == t ? this.attr("result") : this.attr("result", t);
26673            },
26674            toString: function () {
26675              return this.result();
26676            },
26677          },
26678        })),
26679        (SVG.ParentEffect = SVG.invent({
26680          create: function () {
26681            this.constructor.call(this);
26682          },
26683          inherit: SVG.Parent,
26684          extend: {
26685            in: function (t) {
26686              return null == t
26687                ? (this.parent() &&
26688                    this.parent()
26689                      .select('[result="' + this.attr("in") + '"]')
26690                      .get(0)) ||
26691                    this.attr("in")
26692                : this.attr("in", t);
26693            },
26694            result: function (t) {
26695              return null == t ? this.attr("result") : this.attr("result", t);
26696            },
26697            toString: function () {
26698              return this.result();
26699            },
26700          },
26701        }));
26702      var t = {
26703        blend: function (t, e) {
26704          return this.parent() && this.parent().blend(this, t, e);
26705        },
26706        colorMatrix: function (t, e) {
26707          return this.parent() && this.parent().colorMatrix(t, e).in(this);
26708        },
26709        convolveMatrix: function (t) {
26710          return this.parent() && this.parent().convolveMatrix(t).in(this);
26711        },
26712        componentTransfer: function (t) {
26713          return this.parent() && this.parent().componentTransfer(t).in(this);
26714        },
26715        composite: function (t, e) {
26716          return this.parent() && this.parent().composite(this, t, e);
26717        },
26718        flood: function (t, e) {
26719          return this.parent() && this.parent().flood(t, e);
26720        },
26721        offset: function (t, e) {
26722          return this.parent() && this.parent().offset(t, e).in(this);
26723        },
26724        image: function (t) {
26725          return this.parent() && this.parent().image(t);
26726        },
26727        merge: function () {
26728          return (
26729            this.parent() &&
26730            this.parent().merge.apply(this.parent(), [this].concat(arguments))
26731          );
26732        },
26733        gaussianBlur: function (t, e) {
26734          return this.parent() && this.parent().gaussianBlur(t, e).in(this);
26735        },
26736        morphology: function (t, e) {
26737          return this.parent() && this.parent().morphology(t, e).in(this);
26738        },
26739        diffuseLighting: function (t, e, i) {
26740          return (
26741            this.parent() && this.parent().diffuseLighting(t, e, i).in(this)
26742          );
26743        },
26744        displacementMap: function (t, e, i, a) {
26745          return (
26746            this.parent() && this.parent().displacementMap(this, t, e, i, a)
26747          );
26748        },
26749        specularLighting: function (t, e, i, a) {
26750          return (
26751            this.parent() && this.parent().specularLighting(t, e, i, a).in(this)
26752          );
26753        },
26754        tile: function () {
26755          return this.parent() && this.parent().tile().in(this);
26756        },
26757        turbulence: function (t, e, i, a, s) {
26758          return (
26759            this.parent() && this.parent().turbulence(t, e, i, a, s).in(this)
26760          );
26761        },
26762      };
26763      SVG.extend(SVG.Effect, t),
26764        SVG.extend(SVG.ParentEffect, t),
26765        (SVG.ChildEffect = SVG.invent({
26766          create: function () {
26767            this.constructor.call(this);
26768          },
26769          inherit: SVG.Element,
26770          extend: {
26771            in: function (t) {
26772              this.attr("in", t);
26773            },
26774          },
26775        }));
26776      var e = {
26777          blend: function (t, e, i) {
26778            this.attr({ in: t, in2: e, mode: i || "normal" });
26779          },
26780          colorMatrix: function (t, e) {
26781            "matrix" == t && (e = s(e)),
26782              this.attr({ type: t, values: void 0 === e ? null : e });
26783          },
26784          convolveMatrix: function (t) {
26785            (t = s(t)),
26786              this.attr({
26787                order: Math.sqrt(t.split(" ").length),
26788                kernelMatrix: t,
26789              });
26790          },
26791          composite: function (t, e, i) {
26792            this.attr({ in: t, in2: e, operator: i });
26793          },
26794          flood: function (t, e) {
26795            this.attr("flood-color", t),
26796              null != e && this.attr("flood-opacity", e);
26797          },
26798          offset: function (t, e) {
26799            this.attr({ dx: t, dy: e });
26800          },
26801          image: function (t) {
26802            this.attr("href", t, SVG.xlink);
26803          },
26804          displacementMap: function (t, e, i, a, s) {
26805            this.attr({
26806              in: t,
26807              in2: e,
26808              scale: i,
26809              xChannelSelector: a,
26810              yChannelSelector: s,
26811            });
26812          },
26813          gaussianBlur: function (t, e) {
26814            null != t || null != e
26815              ? this.attr(
26816                  "stdDeviation",
26817                  (function (t) {
26818                    if (!Array.isArray(t)) return t;
26819                    for (var e = 0, i = t.length, a = []; e < i; e++)
26820                      a.push(t[e]);
26821                    return a.join(" ");
26822                  })(Array.prototype.slice.call(arguments))
26823                )
26824              : this.attr("stdDeviation", "0 0");
26825          },
26826          morphology: function (t, e) {
26827            this.attr({ operator: t, radius: e });
26828          },
26829          tile: function () {},
26830          turbulence: function (t, e, i, a, s) {
26831            this.attr({
26832              numOctaves: e,
26833              seed: i,
26834              stitchTiles: a,
26835              baseFrequency: t,
26836              type: s,
26837            });
26838          },
26839        },
26840        i = {
26841          merge: function () {
26842            var t;
26843            if (arguments[0] instanceof SVG.Set) {
26844              var e = this;
26845              arguments[0].each(function (t) {
26846                this instanceof SVG.MergeNode
26847                  ? e.put(this)
26848                  : (this instanceof SVG.Effect ||
26849                      this instanceof SVG.ParentEffect) &&
26850                    e.put(new SVG.MergeNode(this));
26851              });
26852            } else {
26853              t = Array.isArray(arguments[0]) ? arguments[0] : arguments;
26854              for (var i = 0; i < t.length; i++)
26855                t[i] instanceof SVG.MergeNode
26856                  ? this.put(t[i])
26857                  : this.put(new SVG.MergeNode(t[i]));
26858            }
26859          },
26860          componentTransfer: function (t) {
26861            if (
26862              ((this.rgb = new SVG.Set()),
26863              ["r", "g", "b", "a"].forEach(
26864                function (t) {
26865                  (this[t] = new SVG["Func" + t.toUpperCase()]("identity")),
26866                    this.rgb.add(this[t]),
26867                    this.node.appendChild(this[t].node);
26868                }.bind(this)
26869              ),
26870              t)
26871            )
26872              for (var e in (t.rgb &&
26873                (["r", "g", "b"].forEach(
26874                  function (e) {
26875                    this[e].attr(t.rgb);
26876                  }.bind(this)
26877                ),
26878                delete t.rgb),
26879              t))
26880                this[e].attr(t[e]);
26881          },
26882          diffuseLighting: function (t, e, i) {
26883            this.attr({
26884              surfaceScale: t,
26885              diffuseConstant: e,
26886              kernelUnitLength: i,
26887            });
26888          },
26889          specularLighting: function (t, e, i, a) {
26890            this.attr({
26891              surfaceScale: t,
26892              diffuseConstant: e,
26893              specularExponent: i,
26894              kernelUnitLength: a,
26895            });
26896          },
26897        },
26898        a = {
26899          distantLight: function (t, e) {
26900            this.attr({ azimuth: t, elevation: e });
26901          },
26902          pointLight: function (t, e, i) {
26903            this.attr({ x: t, y: e, z: i });
26904          },
26905          spotLight: function (t, e, i, a, s, r) {
26906            this.attr({
26907              x: t,
26908              y: e,
26909              z: i,
26910              pointsAtX: a,
26911              pointsAtY: s,
26912              pointsAtZ: r,
26913            });
26914          },
26915          mergeNode: function (t) {
26916            this.attr("in", t);
26917          },
26918        };
26919      function s(t) {
26920        return (
26921          Array.isArray(t) && (t = new SVG.Array(t)),
26922          t
26923            .toString()
26924            .replace(/^\s+/, "")
26925            .replace(/\s+$/, "")
26926            .replace(/\s+/g, " ")
26927        );
26928      }
26929      function r() {
26930        var t = function () {};
26931        for (var e in ("function" == typeof arguments[arguments.length - 1] &&
26932          ((t = arguments[arguments.length - 1]),
26933          Array.prototype.splice.call(arguments, arguments.length - 1, 1)),
26934        arguments))
26935          for (var i in arguments[e]) t(arguments[e][i], i, arguments[e]);
26936      }
26937      ["r", "g", "b", "a"].forEach(function (t) {
26938        a["Func" + t.toUpperCase()] = function (t) {
26939          switch ((this.attr("type", t), t)) {
26940            case "table":
26941              this.attr("tableValues", arguments[1]);
26942              break;
26943            case "linear":
26944              this.attr("slope", arguments[1]),
26945                this.attr("intercept", arguments[2]);
26946              break;
26947            case "gamma":
26948              this.attr("amplitude", arguments[1]),
26949                this.attr("exponent", arguments[2]),
26950                this.attr("offset", arguments[2]);
26951          }
26952        };
26953      }),
26954        r(e, function (t, e) {
26955          var i = e.charAt(0).toUpperCase() + e.slice(1);
26956          SVG[i + "Effect"] = SVG.invent({
26957            create: function () {
26958              this.constructor.call(this, SVG.create("fe" + i)),
26959                t.apply(this, arguments),
26960                this.result(this.attr("id") + "Out");
26961            },
26962            inherit: SVG.Effect,
26963            extend: {},
26964          });
26965        }),
26966        r(i, function (t, e) {
26967          var i = e.charAt(0).toUpperCase() + e.slice(1);
26968          SVG[i + "Effect"] = SVG.invent({
26969            create: function () {
26970              this.constructor.call(this, SVG.create("fe" + i)),
26971                t.apply(this, arguments),
26972                this.result(this.attr("id") + "Out");
26973            },
26974            inherit: SVG.ParentEffect,
26975            extend: {},
26976          });
26977        }),
26978        r(a, function (t, e) {
26979          var i = e.charAt(0).toUpperCase() + e.slice(1);
26980          SVG[i] = SVG.invent({
26981            create: function () {
26982              this.constructor.call(this, SVG.create("fe" + i)),
26983                t.apply(this, arguments);
26984            },
26985            inherit: SVG.ChildEffect,
26986            extend: {},
26987          });
26988        }),
26989        SVG.extend(SVG.MergeEffect, {
26990          in: function (t) {
26991            return (
26992              t instanceof SVG.MergeNode
26993                ? this.add(t, 0)
26994                : this.add(new SVG.MergeNode(t), 0),
26995              this
26996            );
26997          },
26998        }),
26999        SVG.extend(
27000          SVG.CompositeEffect,
27001          SVG.BlendEffect,
27002          SVG.DisplacementMapEffect,
27003          {
27004            in2: function (t) {
27005              return null == t
27006                ? (this.parent() &&
27007                    this.parent()
27008                      .select('[result="' + this.attr("in2") + '"]')
27009                      .get(0)) ||
27010                    this.attr("in2")
27011                : this.attr("in2", t);
27012            },
27013          }
27014        ),
27015        (SVG.filter = {
27016          sepiatone: [
27017            0.343, 0.669, 0.119, 0, 0, 0.249, 0.626, 0.13, 0, 0, 0.172, 0.334,
27018            0.111, 0, 0, 0, 0, 0, 1, 0,
27019          ],
27020        });
27021    }.call(void 0),
27022    (function () {
27023      function t(t, s, r, o, n, l, h) {
27024        for (
27025          var c = t.slice(s, r || h),
27026            d = o.slice(n, l || h),
27027            g = 0,
27028            u = { pos: [0, 0], start: [0, 0] },
27029            p = { pos: [0, 0], start: [0, 0] };
27030          ;
27031
27032        ) {
27033          if (
27034            ((c[g] = e.call(u, c[g])),
27035            (d[g] = e.call(p, d[g])),
27036            c[g][0] != d[g][0] ||
27037            "M" == c[g][0] ||
27038            ("A" == c[g][0] && (c[g][4] != d[g][4] || c[g][5] != d[g][5]))
27039              ? (Array.prototype.splice.apply(
27040                  c,
27041                  [g, 1].concat(a.call(u, c[g]))
27042                ),
27043                Array.prototype.splice.apply(d, [g, 1].concat(a.call(p, d[g]))))
27044              : ((c[g] = i.call(u, c[g])), (d[g] = i.call(p, d[g]))),
27045            ++g == c.length && g == d.length)
27046          )
27047            break;
27048          g == c.length &&
27049            c.push([
27050              "C",
27051              u.pos[0],
27052              u.pos[1],
27053              u.pos[0],
27054              u.pos[1],
27055              u.pos[0],
27056              u.pos[1],
27057            ]),
27058            g == d.length &&
27059              d.push([
27060                "C",
27061                p.pos[0],
27062                p.pos[1],
27063                p.pos[0],
27064                p.pos[1],
27065                p.pos[0],
27066                p.pos[1],
27067              ]);
27068        }
27069        return { start: c, dest: d };
27070      }
27071      function e(t) {
27072        switch (t[0]) {
27073          case "z":
27074          case "Z":
27075            (t[0] = "L"), (t[1] = this.start[0]), (t[2] = this.start[1]);
27076            break;
27077          case "H":
27078            (t[0] = "L"), (t[2] = this.pos[1]);
27079            break;
27080          case "V":
27081            (t[0] = "L"), (t[2] = t[1]), (t[1] = this.pos[0]);
27082            break;
27083          case "T":
27084            (t[0] = "Q"),
27085              (t[3] = t[1]),
27086              (t[4] = t[2]),
27087              (t[1] = this.reflection[1]),
27088              (t[2] = this.reflection[0]);
27089            break;
27090          case "S":
27091            (t[0] = "C"),
27092              (t[6] = t[4]),
27093              (t[5] = t[3]),
27094              (t[4] = t[2]),
27095              (t[3] = t[1]),
27096              (t[2] = this.reflection[1]),
27097              (t[1] = this.reflection[0]);
27098        }
27099        return t;
27100      }
27101      function i(t) {
27102        var e = t.length;
27103        return (
27104          (this.pos = [t[e - 2], t[e - 1]]),
27105          -1 != "SCQT".indexOf(t[0]) &&
27106            (this.reflection = [
27107              2 * this.pos[0] - t[e - 4],
27108              2 * this.pos[1] - t[e - 3],
27109            ]),
27110          t
27111        );
27112      }
27113      function a(t) {
27114        var e = [t];
27115        switch (t[0]) {
27116          case "M":
27117            return (this.pos = this.start = [t[1], t[2]]), e;
27118          case "L":
27119            (t[5] = t[3] = t[1]),
27120              (t[6] = t[4] = t[2]),
27121              (t[1] = this.pos[0]),
27122              (t[2] = this.pos[1]);
27123            break;
27124          case "Q":
27125            (t[6] = t[4]),
27126              (t[5] = t[3]),
27127              (t[4] = (1 * t[4]) / 3 + (2 * t[2]) / 3),
27128              (t[3] = (1 * t[3]) / 3 + (2 * t[1]) / 3),
27129              (t[2] = (1 * this.pos[1]) / 3 + (2 * t[2]) / 3),
27130              (t[1] = (1 * this.pos[0]) / 3 + (2 * t[1]) / 3);
27131            break;
27132          case "A":
27133            (e = (function (t, e) {
27134              var i,
27135                a,
27136                s,
27137                r,
27138                o,
27139                n,
27140                l,
27141                h,
27142                c,
27143                d,
27144                g,
27145                u,
27146                p,
27147                f,
27148                x,
27149                b,
27150                v,
27151                m,
27152                y,
27153                w,
27154                k,
27155                A,
27156                S,
27157                C,
27158                L,
27159                P,
27160                I = Math.abs(e[1]),
27161                M = Math.abs(e[2]),
27162                T = e[3] % 360,
27163                z = e[4],
27164                X = e[5],
27165                E = e[6],
27166                Y = e[7],
27167                F = new SVG.Point(t),
27168                R = new SVG.Point(E, Y),
27169                H = [];
27170              if (0 === I || 0 === M || (F.x === R.x && F.y === R.y))
27171                return [["C", F.x, F.y, R.x, R.y, R.x, R.y]];
27172              (i = new SVG.Point((F.x - R.x) / 2, (F.y - R.y) / 2).transform(
27173                new SVG.Matrix().rotate(T)
27174              )),
27175                (a = (i.x * i.x) / (I * I) + (i.y * i.y) / (M * M)) > 1 &&
27176                  ((I *= a = Math.sqrt(a)), (M *= a));
27177              (s = new SVG.Matrix()
27178                .rotate(T)
27179                .scale(1 / I, 1 / M)
27180                .rotate(-T)),
27181                (F = F.transform(s)),
27182                (R = R.transform(s)),
27183                (r = [R.x - F.x, R.y - F.y]),
27184                (n = r[0] * r[0] + r[1] * r[1]),
27185                (o = Math.sqrt(n)),
27186                (r[0] /= o),
27187                (r[1] /= o),
27188                (l = n < 4 ? Math.sqrt(1 - n / 4) : 0),
27189                z === X && (l *= -1);
27190              (h = new SVG.Point(
27191                (R.x + F.x) / 2 + l * -r[1],
27192                (R.y + F.y) / 2 + l * r[0]
27193              )),
27194                (c = new SVG.Point(F.x - h.x, F.y - h.y)),
27195                (d = new SVG.Point(R.x - h.x, R.y - h.y)),
27196                (g = Math.acos(c.x / Math.sqrt(c.x * c.x + c.y * c.y))),
27197                c.y < 0 && (g *= -1);
27198              (u = Math.acos(d.x / Math.sqrt(d.x * d.x + d.y * d.y))),
27199                d.y < 0 && (u *= -1);
27200              X && g > u && (u += 2 * Math.PI);
27201              !X && g < u && (u -= 2 * Math.PI);
27202              for (
27203                f = Math.ceil((2 * Math.abs(g - u)) / Math.PI),
27204                  b = [],
27205                  v = g,
27206                  p = (u - g) / f,
27207                  x = (4 * Math.tan(p / 4)) / 3,
27208                  k = 0;
27209                k <= f;
27210                k++
27211              )
27212                (y = Math.cos(v)),
27213                  (m = Math.sin(v)),
27214                  (w = new SVG.Point(h.x + y, h.y + m)),
27215                  (b[k] = [
27216                    new SVG.Point(w.x + x * m, w.y - x * y),
27217                    w,
27218                    new SVG.Point(w.x - x * m, w.y + x * y),
27219                  ]),
27220                  (v += p);
27221              for (
27222                b[0][0] = b[0][1].clone(),
27223                  b[b.length - 1][2] = b[b.length - 1][1].clone(),
27224                  s = new SVG.Matrix().rotate(T).scale(I, M).rotate(-T),
27225                  k = 0,
27226                  A = b.length;
27227                k < A;
27228                k++
27229              )
27230                (b[k][0] = b[k][0].transform(s)),
27231                  (b[k][1] = b[k][1].transform(s)),
27232                  (b[k][2] = b[k][2].transform(s));
27233              for (k = 1, A = b.length; k < A; k++)
27234                (S = (w = b[k - 1][2]).x),
27235                  (C = w.y),
27236                  (L = (w = b[k][0]).x),
27237                  (P = w.y),
27238                  (E = (w = b[k][1]).x),
27239                  (Y = w.y),
27240                  H.push(["C", S, C, L, P, E, Y]);
27241              return H;
27242            })(this.pos, t)),
27243              (t = e[0]);
27244        }
27245        return (
27246          (t[0] = "C"),
27247          (this.pos = [t[5], t[6]]),
27248          (this.reflection = [2 * t[5] - t[3], 2 * t[6] - t[4]]),
27249          e
27250        );
27251      }
27252      function s(t, e) {
27253        if (!1 === e) return !1;
27254        for (var i = e, a = t.length; i < a; ++i) if ("M" == t[i][0]) return i;
27255        return !1;
27256      }
27257      SVG.extend(SVG.PathArray, {
27258        morph: function (e) {
27259          for (
27260            var i = this.value, a = this.parse(e), r = 0, o = 0, n = !1, l = !1;
27261            !1 !== r || !1 !== o;
27262
27263          ) {
27264            var h;
27265            (n = s(i, !1 !== r && r + 1)),
27266              (l = s(a, !1 !== o && o + 1)),
27267              !1 === r &&
27268                (r =
27269                  0 == (h = new SVG.PathArray(c.start).bbox()).height ||
27270                  0 == h.width
27271                    ? i.push(i[0]) - 1
27272                    : i.push(["M", h.x + h.width / 2, h.y + h.height / 2]) - 1),
27273              !1 === o &&
27274                (o =
27275                  0 == (h = new SVG.PathArray(c.dest).bbox()).height ||
27276                  0 == h.width
27277                    ? a.push(a[0]) - 1
27278                    : a.push(["M", h.x + h.width / 2, h.y + h.height / 2]) - 1);
27279            var c = t(i, r, n, a, o, l);
27280            (i = i.slice(0, r).concat(c.start, !1 === n ? [] : i.slice(n))),
27281              (a = a.slice(0, o).concat(c.dest, !1 === l ? [] : a.slice(l))),
27282              (r = !1 !== n && r + c.start.length),
27283              (o = !1 !== l && o + c.dest.length);
27284          }
27285          return (
27286            (this.value = i),
27287            (this.destination = new SVG.PathArray()),
27288            (this.destination.value = a),
27289            this
27290          );
27291        },
27292      });
27293    })(),
27294    /*! svg.draggable.js - v2.2.2 - 2019-01-08
27295     * https://github.com/svgdotjs/svg.draggable.js
27296     * Copyright (c) 2019 Wout Fierens; Licensed MIT */
27297    function () {
27298      function t(t) {
27299        t.remember("_draggable", this), (this.el = t);
27300      }
27301      (t.prototype.init = function (t, e) {
27302        var i = this;
27303        (this.constraint = t),
27304          (this.value = e),
27305          this.el.on("mousedown.drag", function (t) {
27306            i.start(t);
27307          }),
27308          this.el.on("touchstart.drag", function (t) {
27309            i.start(t);
27310          });
27311      }),
27312        (t.prototype.transformPoint = function (t, e) {
27313          var i =
27314            ((t = t || window.event).changedTouches && t.changedTouches[0]) ||
27315            t;
27316          return (
27317            (this.p.x = i.clientX - (e || 0)),
27318            (this.p.y = i.clientY),
27319            this.p.matrixTransform(this.m)
27320          );
27321        }),
27322        (t.prototype.getBBox = function () {
27323          var t = this.el.bbox();
27324          return (
27325            this.el instanceof SVG.Nested && (t = this.el.rbox()),
27326            (this.el instanceof SVG.G ||
27327              this.el instanceof SVG.Use ||
27328              this.el instanceof SVG.Nested) &&
27329              ((t.x = this.el.x()), (t.y = this.el.y())),
27330            t
27331          );
27332        }),
27333        (t.prototype.start = function (t) {
27334          if (
27335            ("click" != t.type &&
27336              "mousedown" != t.type &&
27337              "mousemove" != t.type) ||
27338            1 == (t.which || t.buttons)
27339          ) {
27340            var e = this;
27341            if (
27342              (this.el.fire("beforedrag", { event: t, handler: this }),
27343              !this.el.event().defaultPrevented)
27344            ) {
27345              t.preventDefault(),
27346                t.stopPropagation(),
27347                (this.parent =
27348                  this.parent ||
27349                  this.el.parent(SVG.Nested) ||
27350                  this.el.parent(SVG.Doc)),
27351                (this.p = this.parent.node.createSVGPoint()),
27352                (this.m = this.el.node.getScreenCTM().inverse());
27353              var i,
27354                a = this.getBBox();
27355              if (this.el instanceof SVG.Text)
27356                switch (
27357                  ((i = this.el.node.getComputedTextLength()),
27358                  this.el.attr("text-anchor"))
27359                ) {
27360                  case "middle":
27361                    i /= 2;
27362                    break;
27363                  case "start":
27364                    i = 0;
27365                }
27366              (this.startPoints = {
27367                point: this.transformPoint(t, i),
27368                box: a,
27369                transform: this.el.transform(),
27370              }),
27371                SVG.on(window, "mousemove.drag", function (t) {
27372                  e.drag(t);
27373                }),
27374                SVG.on(window, "touchmove.drag", function (t) {
27375                  e.drag(t);
27376                }),
27377                SVG.on(window, "mouseup.drag", function (t) {
27378                  e.end(t);
27379                }),
27380                SVG.on(window, "touchend.drag", function (t) {
27381                  e.end(t);
27382                }),
27383                this.el.fire("dragstart", {
27384                  event: t,
27385                  p: this.startPoints.point,
27386                  m: this.m,
27387                  handler: this,
27388                });
27389            }
27390          }
27391        }),
27392        (t.prototype.drag = function (t) {
27393          var e = this.getBBox(),
27394            i = this.transformPoint(t),
27395            a = this.startPoints.box.x + i.x - this.startPoints.point.x,
27396            s = this.startPoints.box.y + i.y - this.startPoints.point.y,
27397            r = this.constraint,
27398            o = i.x - this.startPoints.point.x,
27399            n = i.y - this.startPoints.point.y;
27400          if (
27401            (this.el.fire("dragmove", {
27402              event: t,
27403              p: i,
27404              m: this.m,
27405              handler: this,
27406            }),
27407            this.el.event().defaultPrevented)
27408          )
27409            return i;
27410          if ("function" == typeof r) {
27411            var l = r.call(this.el, a, s, this.m);
27412            "boolean" == typeof l && (l = { x: l, y: l }),
27413              !0 === l.x ? this.el.x(a) : !1 !== l.x && this.el.x(l.x),
27414              !0 === l.y ? this.el.y(s) : !1 !== l.y && this.el.y(l.y);
27415          } else
27416            "object" == typeof r &&
27417              (null != r.minX && a < r.minX
27418                ? (o = (a = r.minX) - this.startPoints.box.x)
27419                : null != r.maxX &&
27420                  a > r.maxX - e.width &&
27421                  (o = (a = r.maxX - e.width) - this.startPoints.box.x),
27422              null != r.minY && s < r.minY
27423                ? (n = (s = r.minY) - this.startPoints.box.y)
27424                : null != r.maxY &&
27425                  s > r.maxY - e.height &&
27426                  (n = (s = r.maxY - e.height) - this.startPoints.box.y),
27427              null != r.snapToGrid &&
27428                ((a -= a % r.snapToGrid),
27429                (s -= s % r.snapToGrid),
27430                (o -= o % r.snapToGrid),
27431                (n -= n % r.snapToGrid)),
27432              this.el instanceof SVG.G
27433                ? this.el
27434                    .matrix(this.startPoints.transform)
27435                    .transform({ x: o, y: n }, !0)
27436                : this.el.move(a, s));
27437          return i;
27438        }),
27439        (t.prototype.end = function (t) {
27440          var e = this.drag(t);
27441          this.el.fire("dragend", { event: t, p: e, m: this.m, handler: this }),
27442            SVG.off(window, "mousemove.drag"),
27443            SVG.off(window, "touchmove.drag"),
27444            SVG.off(window, "mouseup.drag"),
27445            SVG.off(window, "touchend.drag");
27446        }),
27447        SVG.extend(SVG.Element, {
27448          draggable: function (e, i) {
27449            ("function" != typeof e && "object" != typeof e) ||
27450              ((i = e), (e = !0));
27451            var a = this.remember("_draggable") || new t(this);
27452            return (
27453              (e = void 0 === e || e)
27454                ? a.init(i || {}, e)
27455                : (this.off("mousedown.drag"), this.off("touchstart.drag")),
27456              this
27457            );
27458          },
27459        });
27460    }.call(void 0),
27461    (function () {
27462      function t(t) {
27463        (this.el = t),
27464          t.remember("_selectHandler", this),
27465          (this.pointSelection = { isSelected: !1 }),
27466          (this.rectSelection = { isSelected: !1 }),
27467          (this.pointsList = {
27468            lt: [0, 0],
27469            rt: ["width", 0],
27470            rb: ["width", "height"],
27471            lb: [0, "height"],
27472            t: ["width", 0],
27473            r: ["width", "height"],
27474            b: ["width", "height"],
27475            l: [0, "height"],
27476          }),
27477          (this.pointCoord = function (t, e, i) {
27478            var a = "string" != typeof t ? t : e[t];
27479            return i ? a / 2 : a;
27480          }),
27481          (this.pointCoords = function (t, e) {
27482            var i = this.pointsList[t];
27483            return {
27484              x: this.pointCoord(i[0], e, "t" === t || "b" === t),
27485              y: this.pointCoord(i[1], e, "r" === t || "l" === t),
27486            };
27487          });
27488      }
27489      (t.prototype.init = function (t, e) {
27490        var i = this.el.bbox();
27491        this.options = {};
27492        var a = this.el.selectize.defaults.points;
27493        for (var s in this.el.selectize.defaults)
27494          (this.options[s] = this.el.selectize.defaults[s]),
27495            void 0 !== e[s] && (this.options[s] = e[s]);
27496        var r = ["points", "pointsExclude"];
27497        for (var s in r) {
27498          var o = this.options[r[s]];
27499          "string" == typeof o
27500            ? (o = o.length > 0 ? o.split(/\s*,\s*/i) : [])
27501            : "boolean" == typeof o && "points" === r[s] && (o = o ? a : []),
27502            (this.options[r[s]] = o);
27503        }
27504        (this.options.points = [a, this.options.points].reduce(function (t, e) {
27505          return t.filter(function (t) {
27506            return e.indexOf(t) > -1;
27507          });
27508        })),
27509          (this.options.points = [
27510            this.options.points,
27511            this.options.pointsExclude,
27512          ].reduce(function (t, e) {
27513            return t.filter(function (t) {
27514              return e.indexOf(t) < 0;
27515            });
27516          })),
27517          (this.parent = this.el.parent()),
27518          (this.nested = this.nested || this.parent.group()),
27519          this.nested.matrix(new SVG.Matrix(this.el).translate(i.x, i.y)),
27520          this.options.deepSelect &&
27521          -1 !== ["line", "polyline", "polygon"].indexOf(this.el.type)
27522            ? this.selectPoints(t)
27523            : this.selectRect(t),
27524          this.observe(),
27525          this.cleanup();
27526      }),
27527        (t.prototype.selectPoints = function (t) {
27528          return (
27529            (this.pointSelection.isSelected = t),
27530            this.pointSelection.set ||
27531              ((this.pointSelection.set = this.parent.set()),
27532              this.drawPoints()),
27533            this
27534          );
27535        }),
27536        (t.prototype.getPointArray = function () {
27537          var t = this.el.bbox();
27538          return this.el
27539            .array()
27540            .valueOf()
27541            .map(function (e) {
27542              return [e[0] - t.x, e[1] - t.y];
27543            });
27544        }),
27545        (t.prototype.drawPoints = function () {
27546          for (
27547            var t = this, e = this.getPointArray(), i = 0, a = e.length;
27548            i < a;
27549            ++i
27550          ) {
27551            var s = (function (e) {
27552                return function (i) {
27553                  (i = i || window.event).preventDefault
27554                    ? i.preventDefault()
27555                    : (i.returnValue = !1),
27556                    i.stopPropagation();
27557                  var a = i.pageX || i.touches[0].pageX,
27558                    s = i.pageY || i.touches[0].pageY;
27559                  t.el.fire("point", { x: a, y: s, i: e, event: i });
27560                };
27561              })(i),
27562              r = this.drawPoint(e[i][0], e[i][1])
27563                .addClass(this.options.classPoints)
27564                .addClass(this.options.classPoints + "_point")
27565                .on("touchstart", s)
27566                .on("mousedown", s);
27567            this.pointSelection.set.add(r);
27568          }
27569        }),
27570        (t.prototype.drawPoint = function (t, e) {
27571          var i = this.options.pointType;
27572          switch (i) {
27573            case "circle":
27574              return this.drawCircle(t, e);
27575            case "rect":
27576              return this.drawRect(t, e);
27577            default:
27578              if ("function" == typeof i) return i.call(this, t, e);
27579              throw new Error("Unknown " + i + " point type!");
27580          }
27581        }),
27582        (t.prototype.drawCircle = function (t, e) {
27583          return this.nested.circle(this.options.pointSize).center(t, e);
27584        }),
27585        (t.prototype.drawRect = function (t, e) {
27586          return this.nested
27587            .rect(this.options.pointSize, this.options.pointSize)
27588            .center(t, e);
27589        }),
27590        (t.prototype.updatePointSelection = function () {
27591          var t = this.getPointArray();
27592          this.pointSelection.set.each(function (e) {
27593            (this.cx() === t[e][0] && this.cy() === t[e][1]) ||
27594              this.center(t[e][0], t[e][1]);
27595          });
27596        }),
27597        (t.prototype.updateRectSelection = function () {
27598          var t = this,
27599            e = this.el.bbox();
27600          if (
27601            (this.rectSelection.set
27602              .get(0)
27603              .attr({ width: e.width, height: e.height }),
27604            this.options.points.length &&
27605              this.options.points.map(function (i, a) {
27606                var s = t.pointCoords(i, e);
27607                t.rectSelection.set.get(a + 1).center(s.x, s.y);
27608              }),
27609            this.options.rotationPoint)
27610          ) {
27611            var i = this.rectSelection.set.length();
27612            this.rectSelection.set.get(i - 1).center(e.width / 2, 20);
27613          }
27614        }),
27615        (t.prototype.selectRect = function (t) {
27616          var e = this,
27617            i = this.el.bbox();
27618          function a(t) {
27619            return function (i) {
27620              (i = i || window.event).preventDefault
27621                ? i.preventDefault()
27622                : (i.returnValue = !1),
27623                i.stopPropagation();
27624              var a = i.pageX || i.touches[0].pageX,
27625                s = i.pageY || i.touches[0].pageY;
27626              e.el.fire(t, { x: a, y: s, event: i });
27627            };
27628          }
27629          if (
27630            ((this.rectSelection.isSelected = t),
27631            (this.rectSelection.set =
27632              this.rectSelection.set || this.parent.set()),
27633            this.rectSelection.set.get(0) ||
27634              this.rectSelection.set.add(
27635                this.nested
27636                  .rect(i.width, i.height)
27637                  .addClass(this.options.classRect)
27638              ),
27639            this.options.points.length && this.rectSelection.set.length() < 2)
27640          ) {
27641            this.options.points.map(function (t, s) {
27642              var r = e.pointCoords(t, i),
27643                o = e
27644                  .drawPoint(r.x, r.y)
27645                  .attr("class", e.options.classPoints + "_" + t)
27646                  .on("mousedown", a(t))
27647                  .on("touchstart", a(t));
27648              e.rectSelection.set.add(o);
27649            }),
27650              this.rectSelection.set.each(function () {
27651                this.addClass(e.options.classPoints);
27652              });
27653          }
27654          if (
27655            this.options.rotationPoint &&
27656            ((this.options.points && !this.rectSelection.set.get(9)) ||
27657              (!this.options.points && !this.rectSelection.set.get(1)))
27658          ) {
27659            var s = function (t) {
27660                (t = t || window.event).preventDefault
27661                  ? t.preventDefault()
27662                  : (t.returnValue = !1),
27663                  t.stopPropagation();
27664                var i = t.pageX || t.touches[0].pageX,
27665                  a = t.pageY || t.touches[0].pageY;
27666                e.el.fire("rot", { x: i, y: a, event: t });
27667              },
27668              r = this.drawPoint(i.width / 2, 20)
27669                .attr("class", this.options.classPoints + "_rot")
27670                .on("touchstart", s)
27671                .on("mousedown", s);
27672            this.rectSelection.set.add(r);
27673          }
27674        }),
27675        (t.prototype.handler = function () {
27676          var t = this.el.bbox();
27677          this.nested.matrix(new SVG.Matrix(this.el).translate(t.x, t.y)),
27678            this.rectSelection.isSelected && this.updateRectSelection(),
27679            this.pointSelection.isSelected && this.updatePointSelection();
27680        }),
27681        (t.prototype.observe = function () {
27682          var t = this;
27683          if (MutationObserver)
27684            if (this.rectSelection.isSelected || this.pointSelection.isSelected)
27685              (this.observerInst =
27686                this.observerInst ||
27687                new MutationObserver(function () {
27688                  t.handler();
27689                })),
27690                this.observerInst.observe(this.el.node, { attributes: !0 });
27691            else
27692              try {
27693                this.observerInst.disconnect(), delete this.observerInst;
27694              } catch (t) {}
27695          else
27696            this.el.off("DOMAttrModified.select"),
27697              (this.rectSelection.isSelected ||
27698                this.pointSelection.isSelected) &&
27699                this.el.on("DOMAttrModified.select", function () {
27700                  t.handler();
27701                });
27702        }),
27703        (t.prototype.cleanup = function () {
27704          !this.rectSelection.isSelected &&
27705            this.rectSelection.set &&
27706            (this.rectSelection.set.each(function () {
27707              this.remove();
27708            }),
27709            this.rectSelection.set.clear(),
27710            delete this.rectSelection.set),
27711            !this.pointSelection.isSelected &&
27712              this.pointSelection.set &&
27713              (this.pointSelection.set.each(function () {
27714                this.remove();
27715              }),
27716              this.pointSelection.set.clear(),
27717              delete this.pointSelection.set),
27718            this.pointSelection.isSelected ||
27719              this.rectSelection.isSelected ||
27720              (this.nested.remove(), delete this.nested);
27721        }),
27722        SVG.extend(SVG.Element, {
27723          selectize: function (e, i) {
27724            return (
27725              "object" == typeof e && ((i = e), (e = !0)),
27726              (this.remember("_selectHandler") || new t(this)).init(
27727                void 0 === e || e,
27728                i || {}
27729              ),
27730              this
27731            );
27732          },
27733        }),
27734        (SVG.Element.prototype.selectize.defaults = {
27735          points: ["lt", "rt", "rb", "lb", "t", "r", "b", "l"],
27736          pointsExclude: [],
27737          classRect: "svg_select_boundingRect",
27738          classPoints: "svg_select_points",
27739          pointSize: 7,
27740          rotationPoint: !0,
27741          deepSelect: !1,
27742          pointType: "circle",
27743        });
27744    })(),
27745    (function () {
27746      (function () {
27747        function t(t) {
27748          t.remember("_resizeHandler", this),
27749            (this.el = t),
27750            (this.parameters = {}),
27751            (this.lastUpdateCall = null),
27752            (this.p = t.doc().node.createSVGPoint());
27753        }
27754        (t.prototype.transformPoint = function (t, e, i) {
27755          return (
27756            (this.p.x = t - (this.offset.x - window.pageXOffset)),
27757            (this.p.y = e - (this.offset.y - window.pageYOffset)),
27758            this.p.matrixTransform(i || this.m)
27759          );
27760        }),
27761          (t.prototype._extractPosition = function (t) {
27762            return {
27763              x: null != t.clientX ? t.clientX : t.touches[0].clientX,
27764              y: null != t.clientY ? t.clientY : t.touches[0].clientY,
27765            };
27766          }),
27767          (t.prototype.init = function (t) {
27768            var e = this;
27769            if ((this.stop(), "stop" !== t)) {
27770              for (var i in ((this.options = {}), this.el.resize.defaults))
27771                (this.options[i] = this.el.resize.defaults[i]),
27772                  void 0 !== t[i] && (this.options[i] = t[i]);
27773              this.el.on("lt.resize", function (t) {
27774                e.resize(t || window.event);
27775              }),
27776                this.el.on("rt.resize", function (t) {
27777                  e.resize(t || window.event);
27778                }),
27779                this.el.on("rb.resize", function (t) {
27780                  e.resize(t || window.event);
27781                }),
27782                this.el.on("lb.resize", function (t) {
27783                  e.resize(t || window.event);
27784                }),
27785                this.el.on("t.resize", function (t) {
27786                  e.resize(t || window.event);
27787                }),
27788                this.el.on("r.resize", function (t) {
27789                  e.resize(t || window.event);
27790                }),
27791                this.el.on("b.resize", function (t) {
27792                  e.resize(t || window.event);
27793                }),
27794                this.el.on("l.resize", function (t) {
27795                  e.resize(t || window.event);
27796                }),
27797                this.el.on("rot.resize", function (t) {
27798                  e.resize(t || window.event);
27799                }),
27800                this.el.on("point.resize", function (t) {
27801                  e.resize(t || window.event);
27802                }),
27803                this.update();
27804            }
27805          }),
27806          (t.prototype.stop = function () {
27807            return (
27808              this.el.off("lt.resize"),
27809              this.el.off("rt.resize"),
27810              this.el.off("rb.resize"),
27811              this.el.off("lb.resize"),
27812              this.el.off("t.resize"),
27813              this.el.off("r.resize"),
27814              this.el.off("b.resize"),
27815              this.el.off("l.resize"),
27816              this.el.off("rot.resize"),
27817              this.el.off("point.resize"),
27818              this
27819            );
27820          }),
27821          (t.prototype.resize = function (t) {
27822            var e = this;
27823            (this.m = this.el.node.getScreenCTM().inverse()),
27824              (this.offset = { x: window.pageXOffset, y: window.pageYOffset });
27825            var i = this._extractPosition(t.detail.event);
27826            if (
27827              ((this.parameters = {
27828                type: this.el.type,
27829                p: this.transformPoint(i.x, i.y),
27830                x: t.detail.x,
27831                y: t.detail.y,
27832                box: this.el.bbox(),
27833                rotation: this.el.transform().rotation,
27834              }),
27835              "text" === this.el.type &&
27836                (this.parameters.fontSize = this.el.attr()["font-size"]),
27837              void 0 !== t.detail.i)
27838            ) {
27839              var a = this.el.array().valueOf();
27840              (this.parameters.i = t.detail.i),
27841                (this.parameters.pointCoords = [
27842                  a[t.detail.i][0],
27843                  a[t.detail.i][1],
27844                ]);
27845            }
27846            switch (t.type) {
27847              case "lt":
27848                this.calc = function (t, e) {
27849                  var i = this.snapToGrid(t, e);
27850                  if (
27851                    this.parameters.box.width - i[0] > 0 &&
27852                    this.parameters.box.height - i[1] > 0
27853                  ) {
27854                    if ("text" === this.parameters.type)
27855                      return (
27856                        this.el.move(
27857                          this.parameters.box.x + i[0],
27858                          this.parameters.box.y
27859                        ),
27860                        void this.el.attr(
27861                          "font-size",
27862                          this.parameters.fontSize - i[0]
27863                        )
27864                      );
27865                    (i = this.checkAspectRatio(i)),
27866                      this.el
27867                        .move(
27868                          this.parameters.box.x + i[0],
27869                          this.parameters.box.y + i[1]
27870                        )
27871                        .size(
27872                          this.parameters.box.width - i[0],
27873                          this.parameters.box.height - i[1]
27874                        );
27875                  }
27876                };
27877                break;
27878              case "rt":
27879                this.calc = function (t, e) {
27880                  var i = this.snapToGrid(t, e, 2);
27881                  if (
27882                    this.parameters.box.width + i[0] > 0 &&
27883                    this.parameters.box.height - i[1] > 0
27884                  ) {
27885                    if ("text" === this.parameters.type)
27886                      return (
27887                        this.el.move(
27888                          this.parameters.box.x - i[0],
27889                          this.parameters.box.y
27890                        ),
27891                        void this.el.attr(
27892                          "font-size",
27893                          this.parameters.fontSize + i[0]
27894                        )
27895                      );
27896                    (i = this.checkAspectRatio(i, !0)),
27897                      this.el
27898                        .move(
27899                          this.parameters.box.x,
27900                          this.parameters.box.y + i[1]
27901                        )
27902                        .size(
27903                          this.parameters.box.width + i[0],
27904                          this.parameters.box.height - i[1]
27905                        );
27906                  }
27907                };
27908                break;
27909              case "rb":
27910                this.calc = function (t, e) {
27911                  var i = this.snapToGrid(t, e, 0);
27912                  if (
27913                    this.parameters.box.width + i[0] > 0 &&
27914                    this.parameters.box.height + i[1] > 0
27915                  ) {
27916                    if ("text" === this.parameters.type)
27917                      return (
27918                        this.el.move(
27919                          this.parameters.box.x - i[0],
27920                          this.parameters.box.y
27921                        ),
27922                        void this.el.attr(
27923                          "font-size",
27924                          this.parameters.fontSize + i[0]
27925                        )
27926                      );
27927                    (i = this.checkAspectRatio(i)),
27928                      this.el
27929                        .move(this.parameters.box.x, this.parameters.box.y)
27930                        .size(
27931                          this.parameters.box.width + i[0],
27932                          this.parameters.box.height + i[1]
27933                        );
27934                  }
27935                };
27936                break;
27937              case "lb":
27938                this.calc = function (t, e) {
27939                  var i = this.snapToGrid(t, e, 1);
27940                  if (
27941                    this.parameters.box.width - i[0] > 0 &&
27942                    this.parameters.box.height + i[1] > 0
27943                  ) {
27944                    if ("text" === this.parameters.type)
27945                      return (
27946                        this.el.move(
27947                          this.parameters.box.x + i[0],
27948                          this.parameters.box.y
27949                        ),
27950                        void this.el.attr(
27951                          "font-size",
27952                          this.parameters.fontSize - i[0]
27953                        )
27954                      );
27955                    (i = this.checkAspectRatio(i, !0)),
27956                      this.el
27957                        .move(
27958                          this.parameters.box.x + i[0],
27959                          this.parameters.box.y
27960                        )
27961                        .size(
27962                          this.parameters.box.width - i[0],
27963                          this.parameters.box.height + i[1]
27964                        );
27965                  }
27966                };
27967                break;
27968              case "t":
27969                this.calc = function (t, e) {
27970                  var i = this.snapToGrid(t, e, 2);
27971                  if (this.parameters.box.height - i[1] > 0) {
27972                    if ("text" === this.parameters.type) return;
27973                    this.el
27974                      .move(this.parameters.box.x, this.parameters.box.y + i[1])
27975                      .height(this.parameters.box.height - i[1]);
27976                  }
27977                };
27978                break;
27979              case "r":
27980                this.calc = function (t, e) {
27981                  var i = this.snapToGrid(t, e, 0);
27982                  if (this.parameters.box.width + i[0] > 0) {
27983                    if ("text" === this.parameters.type) return;
27984                    this.el
27985                      .move(this.parameters.box.x, this.parameters.box.y)
27986                      .width(this.parameters.box.width + i[0]);
27987                  }
27988                };
27989                break;
27990              case "b":
27991                this.calc = function (t, e) {
27992                  var i = this.snapToGrid(t, e, 0);
27993                  if (this.parameters.box.height + i[1] > 0) {
27994                    if ("text" === this.parameters.type) return;
27995                    this.el
27996                      .move(this.parameters.box.x, this.parameters.box.y)
27997                      .height(this.parameters.box.height + i[1]);
27998                  }
27999                };
28000                break;
28001              case "l":
28002                this.calc = function (t, e) {
28003                  var i = this.snapToGrid(t, e, 1);
28004                  if (this.parameters.box.width - i[0] > 0) {
28005                    if ("text" === this.parameters.type) return;
28006                    this.el
28007                      .move(this.parameters.box.x + i[0], this.parameters.box.y)
28008                      .width(this.parameters.box.width - i[0]);
28009                  }
28010                };
28011                break;
28012              case "rot":
28013                this.calc = function (t, e) {
28014                  var i = t + this.parameters.p.x,
28015                    a = e + this.parameters.p.y,
28016                    s = Math.atan2(
28017                      this.parameters.p.y -
28018                        this.parameters.box.y -
28019                        this.parameters.box.height / 2,
28020                      this.parameters.p.x -
28021                        this.parameters.box.x -
28022                        this.parameters.box.width / 2
28023                    ),
28024                    r = Math.atan2(
28025                      a -
28026                        this.parameters.box.y -
28027                        this.parameters.box.height / 2,
28028                      i - this.parameters.box.x - this.parameters.box.width / 2
28029                    ),
28030                    o =
28031                      this.parameters.rotation +
28032                      (180 * (r - s)) / Math.PI +
28033                      this.options.snapToAngle / 2;
28034                  this.el
28035                    .center(this.parameters.box.cx, this.parameters.box.cy)
28036                    .rotate(
28037                      o - (o % this.options.snapToAngle),
28038                      this.parameters.box.cx,
28039                      this.parameters.box.cy
28040                    );
28041                };
28042                break;
28043              case "point":
28044                this.calc = function (t, e) {
28045                  var i = this.snapToGrid(
28046                      t,
28047                      e,
28048                      this.parameters.pointCoords[0],
28049                      this.parameters.pointCoords[1]
28050                    ),
28051                    a = this.el.array().valueOf();
28052                  (a[this.parameters.i][0] =
28053                    this.parameters.pointCoords[0] + i[0]),
28054                    (a[this.parameters.i][1] =
28055                      this.parameters.pointCoords[1] + i[1]),
28056                    this.el.plot(a);
28057                };
28058            }
28059            this.el.fire("resizestart", {
28060              dx: this.parameters.x,
28061              dy: this.parameters.y,
28062              event: t,
28063            }),
28064              SVG.on(window, "touchmove.resize", function (t) {
28065                e.update(t || window.event);
28066              }),
28067              SVG.on(window, "touchend.resize", function () {
28068                e.done();
28069              }),
28070              SVG.on(window, "mousemove.resize", function (t) {
28071                e.update(t || window.event);
28072              }),
28073              SVG.on(window, "mouseup.resize", function () {
28074                e.done();
28075              });
28076          }),
28077          (t.prototype.update = function (t) {
28078            if (t) {
28079              var e = this._extractPosition(t),
28080                i = this.transformPoint(e.x, e.y),
28081                a = i.x - this.parameters.p.x,
28082                s = i.y - this.parameters.p.y;
28083              (this.lastUpdateCall = [a, s]),
28084                this.calc(a, s),
28085                this.el.fire("resizing", { dx: a, dy: s, event: t });
28086            } else
28087              this.lastUpdateCall &&
28088                this.calc(this.lastUpdateCall[0], this.lastUpdateCall[1]);
28089          }),
28090          (t.prototype.done = function () {
28091            (this.lastUpdateCall = null),
28092              SVG.off(window, "mousemove.resize"),
28093              SVG.off(window, "mouseup.resize"),
28094              SVG.off(window, "touchmove.resize"),
28095              SVG.off(window, "touchend.resize"),
28096              this.el.fire("resizedone");
28097          }),
28098          (t.prototype.snapToGrid = function (t, e, i, a) {
28099            var s;
28100            return (
28101              void 0 !== a
28102                ? (s = [
28103                    (i + t) % this.options.snapToGrid,
28104                    (a + e) % this.options.snapToGrid,
28105                  ])
28106                : ((i = null == i ? 3 : i),
28107                  (s = [
28108                    (this.parameters.box.x +
28109                      t +
28110                      (1 & i ? 0 : this.parameters.box.width)) %
28111                      this.options.snapToGrid,
28112                    (this.parameters.box.y +
28113                      e +
28114                      (2 & i ? 0 : this.parameters.box.height)) %
28115                      this.options.snapToGrid,
28116                  ])),
28117              t < 0 && (s[0] -= this.options.snapToGrid),
28118              e < 0 && (s[1] -= this.options.snapToGrid),
28119              (t -=
28120                Math.abs(s[0]) < this.options.snapToGrid / 2
28121                  ? s[0]
28122                  : s[0] -
28123                    (t < 0
28124                      ? -this.options.snapToGrid
28125                      : this.options.snapToGrid)),
28126              (e -=
28127                Math.abs(s[1]) < this.options.snapToGrid / 2
28128                  ? s[1]
28129                  : s[1] -
28130                    (e < 0
28131                      ? -this.options.snapToGrid
28132                      : this.options.snapToGrid)),
28133              this.constraintToBox(t, e, i, a)
28134            );
28135          }),
28136          (t.prototype.constraintToBox = function (t, e, i, a) {
28137            var s,
28138              r,
28139              o = this.options.constraint || {};
28140            return (
28141              void 0 !== a
28142                ? ((s = i), (r = a))
28143                : ((s =
28144                    this.parameters.box.x +
28145                    (1 & i ? 0 : this.parameters.box.width)),
28146                  (r =
28147                    this.parameters.box.y +
28148                    (2 & i ? 0 : this.parameters.box.height))),
28149              void 0 !== o.minX && s + t < o.minX && (t = o.minX - s
28149),
28150              void 0 !== o.maxX && s + t > o.maxX && (t = o.maxX - s),
28151              void 0 !== o.minY && r + e < o.minY && (e = o.minY - r),
28152              void 0 !== o.maxY && r + e > o.maxY && (e = o.maxY - r),
28153              [t, e]
28154            );
28155          }),
28156          (t.prototype.checkAspectRatio = function (t, e) {
28157            if (!this.options.saveAspectRatio) return t;
28158            var i = t.slice(),
28159              a = this.parameters.box.width / this.parameters.box.height,
28160              s = this.parameters.box.width + t[0],
28161              r = this.parameters.box.height - t[1],
28162              o = s / r;
28163            return (
28164              o < a
28165                ? ((i[1] = s / a - this.parameters.box.height),
28166                  e && (i[1] = -i[1]))
28167                : o > a &&
28168                  ((i[0] = this.parameters.box.width - r * a),
28169                  e && (i[0] = -i[0])),
28170              i
28171            );
28172          }),
28173          SVG.extend(SVG.Element, {
28174            resize: function (e) {
28175              return (
28176                (this.remember("_resizeHandler") || new t(this)).init(e || {}),
28177                this
28178              );
28179            },
28180          }),
28181          (SVG.Element.prototype.resize.defaults = {
28182            snapToAngle: 0.1,
28183            snapToGrid: 1,
28184            constraint: {},
28185            saveAspectRatio: !1,
28186          });
28187      }).call(this);
28188    })(),
28189    void 0 === window.Apex && (window.Apex = {});
28190  var Gt = (function () {
28191      function t(e) {
28192        a(this, t), (this.ctx = e), (this.w = e.w);
28193      }
28194      return (
28195        r(t, [
28196          {
28197            key: "initModules",
28198            value: function () {
28199              (this.ctx.publicMethods = [
28200                "updateOptions",
28201                "updateSeries",
28202                "appendData",
28203                "appendSeries",
28204                "isSeriesHidden",
28205                "toggleSeries",
28206                "showSeries",
28207                "hideSeries",
28208                "setLocale",
28209                "resetSeries",
28210                "zoomX",
28211                "toggleDataPointSelection",
28212                "dataURI",
28213                "exportToCSV",
28214                "addXaxisAnnotation",
28215                "addYaxisAnnotation",
28216                "addPointAnnotation",
28217                "clearAnnotations",
28218                "removeAnnotation",
28219                "paper",
28220                "destroy",
28221              ]),
28222                (this.ctx.eventList = [
28223                  "click",
28224                  "mousedown",
28225                  "mousemove",
28226                  "mouseleave",
28227                  "touchstart",
28228                  "touchmove",
28229                  "touchleave",
28230                  "mouseup",
28231                  "touchend",
28232                ]),
28233                (this.ctx.animations = new b(this.ctx)),
28234                (this.ctx.axes = new J(this.ctx)),
28235                (this.ctx.core = new Wt(this.ctx.el, this.ctx)),
28236                (this.ctx.config = new E({})),
28237                (this.ctx.data = new W(this.ctx)),
28238                (this.ctx.grid = new j(this.ctx)),
28239                (this.ctx.graphics = new m(this.ctx)),
28240                (this.ctx.coreUtils = new y(this.ctx)),
28241                (this.ctx.crosshairs = new Q(this.ctx)),
28242                (this.ctx.events = new Z(this.ctx)),
28243                (this.ctx.exports = new G(this.ctx)),
28244                (this.ctx.localization = new $(this.ctx)),
28245                (this.ctx.options = new L()),
28246                (this.ctx.responsive = new K(this.ctx)),
28247                (this.ctx.series = new N(this.ctx)),
28248                (this.ctx.theme = new tt(this.ctx)),
28249                (this.ctx.formatters = new M(this.ctx)),
28250                (this.ctx.titleSubtitle = new et(this.ctx)),
28251                (this.ctx.legend = new lt(this.ctx)),
28252                (this.ctx.toolbar = new ht(this.ctx)),
28253                (this.ctx.tooltip = new bt(this.ctx)),
28254                (this.ctx.dimensions = new ot(this.ctx)),
28255                (this.ctx.updateHelpers = new Bt(this.ctx)),
28256                (this.ctx.zoomPanSelection = new ct(this.ctx)),
28257                (this.ctx.w.globals.tooltip = new bt(this.ctx));
28258            },
28259          },
28260        ]),
28261        t
28262      );
28263    })(),
28264    Vt = (function () {
28265      function t(e) {
28266        a(this, t), (this.ctx = e), (this.w = e.w);
28267      }
28268      return (
28269        r(t, [
28270          {
28271            key: "clear",
28272            value: function (t) {
28273              var e = t.isUpdating;
28274              this.ctx.zoomPanSelection && this.ctx.zoomPanSelection.destroy(),
28275                this.ctx.toolbar && this.ctx.toolbar.destroy(),
28276                (this.ctx.animations = null),
28277                (this.ctx.axes = null),
28278                (this.ctx.annotations = null),
28279                (this.ctx.core = null),
28280                (this.ctx.data = null),
28281                (this.ctx.grid = null),
28282                (this.ctx.series = null),
28283                (this.ctx.responsive = null),
28284                (this.ctx.theme = null),
28285                (this.ctx.formatters = null),
28286                (this.ctx.titleSubtitle = null),
28287                (this.ctx.legend = null),
28288                (this.ctx.dimensions = null),
28289                (this.ctx.options = null),
28290                (this.ctx.crosshairs = null),
28291                (this.ctx.zoomPanSelection = null),
28292                (this.ctx.updateHelpers = null),
28293                (this.ctx.toolbar = null),
28294                (this.ctx.localization = null),
28295                (this.ctx.w.globals.tooltip = null),
28296                this.clearDomElements({ isUpdating: e });
28297            },
28298          },
28299          {
28300            key: "killSVG",
28301            value: function (t) {
28302              t.each(function (t, e) {
28303                this.removeClass("*"), this.off(), this.stop();
28304              }, !0),
28305                t.ungroup(),
28306                t.clear();
28307            },
28308          },
28309          {
28310            key: "clearDomElements",
28311            value: function (t) {
28312              var e = this,
28313                i = t.isUpdating,
28314                a = this.w.globals.dom.Paper.node;
28315              a.parentNode &&
28316                a.parentNode.parentNode &&
28317                !i &&
28318                (a.parentNode.parentNode.style.minHeight = "unset");
28319              var s = this.w.globals.dom.baseEl;
28320              s &&
28321                this.ctx.eventList.forEach(function (t) {
28322                  s.removeEventListener(t, e.ctx.events.documentEvent);
28323                });
28324              var r = this.w.globals.dom;
28325              if (null !== this.ctx.el)
28326                for (; this.ctx.el.firstChild; )
28327                  this.ctx.el.removeChild(this.ctx.el.firstChild);
28328              this.killSVG(r.Paper),
28329                r.Paper.remove(),
28330                (r.elWrap = null),
28331                (r.elGraphical = null),
28332                (r.elLegendWrap = null),
28333                (r.elLegendForeign = null),
28334                (r.baseEl = null),
28335                (r.elGridRect = null),
28336                (r.elGridRectMask = null),
28337                (r.elGridRectMarkerMask = null),
28338                (r.elForecastMask = null),
28339                (r.elNonForecastMask = null),
28340                (r.elDefs = null);
28341            },
28342          },
28343        ]),
28344        t
28345      );
28346    })(),
28347    jt = new WeakMap();
28348  var _t = (function () {
28349    function t(e, i) {
28350      a(this, t),
28351        (this.opts = i),
28352        (this.ctx = this),
28353        (this.w = new F(i).init()),
28354        (this.el = e),
28355        (this.w.globals.cuid = x.randomId()),
28356        (this.w.globals.chartID = this.w.config.chart.id
28357          ? x.escapeString(this.w.config.chart.id)
28358          : this.w.globals.cuid),
28359        new Gt(this).initModules(),
28360        (this.create = x.bind(this.create, this)),
28361        (this.windowResizeHandler = this._windowResizeHandler.bind(this)),
28362        (this.parentResizeHandler = this._parentResizeCallback.bind(this));
28363    }
28364    return (
28365      r(
28366        t,
28367        [
28368          {
28369            key: "render",
28370            value: function () {
28371              var t = this;
28372              return new Promise(function (e, i) {
28373                if (null !== t.el) {
28374                  void 0 === Apex._chartInstances &&
28375                    (Apex._chartInstances = []),
28376                    t.w.config.chart.id &&
28377                      Apex._chartInstances.push({
28378                        id: t.w.globals.chartID,
28379                        group: t.w.config.chart.group,
28380                        chart: t,
28381                      }),
28382                    t.setLocale(t.w.config.chart.defaultLocale);
28383                  var a = t.w.config.chart.events.beforeMount;
28384                  if (
28385                    ("function" == typeof a && a(t, t.w),
28386                    t.events.fireEvent("beforeMount", [t, t.w]),
28387                    window.addEventListener("resize", t.windowResizeHandler),
28388                    (function (t, e) {
28389                      var i = !1;
28390                      if (t.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {
28391                        var a = t.getBoundingClientRect();
28392                        ("none" !== t.style.display && 0 !== a.width) ||
28393                          (i = !0);
28394                      }
28395                      var s = new ResizeObserver(function (a) {
28396                        i && e.call(t, a), (i = !0);
28397                      });
28398                      t.nodeType === Node.DOCUMENT_FRAGMENT_NODE
28399                        ? Array.from(t.children).forEach(function (t) {
28400                            return s.observe(t);
28401                          })
28402                        : s.observe(t),
28403                        jt.set(e, s);
28404                    })(t.el.parentNode, t.parentResizeHandler),
28405                    !t.css)
28406                  ) {
28407                    var s = t.el.getRootNode && t.el.getRootNode(),
28408                      r = x.is("ShadowRoot", s),
28409                      o = t.el.ownerDocument,
28410                      n = o.getElementById("apexcharts-css");
28411                    if (r || !n) {
28412                      var l;
28413                      (t.css = document.createElement("style")),
28414                        (t.css.id = "apexcharts-css"),
28415                        (t.css.textContent =
28416                          '@keyframes opaque {\n  0% {\n      opacity: 0\n  }\n\n  to {\n      opacity: 1\n  }\n}\n\n@keyframes resizeanim {\n  0%,to {\n      opacity: 0\n  }\n}\n\n.apexcharts-canvas {\n  position: relative;\n  user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n  -webkit-appearance: none;\n  width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n  border-radius: 4px;\n  background-color: rgba(0,0,0,.5);\n  box-shadow: 0 0 1px rgba(255,255,255,.5);\n  -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n  position: relative\n}\n\n.apexcharts-text tspan {\n  font-family: inherit\n}\n\n.legend-mouseover-inactive {\n  transition: .15s ease all;\n  opacity: .2\n}\n\n.apexcharts-legend-text {\n  padding-left: 15px;\n  margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n  opacity: 0\n}\n\n.apexcharts-tooltip {\n  border-radius: 5px;\n  box-shadow: 2px 2px 6px -4px #999;\n  cursor: default;\n  font-size: 14px;\n  left: 62px;\n  opacity: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 20px;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  white-space: nowrap;\n  z-index: 12;\n  transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n  border: 1px solid #e3e3e3;\n  background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n  color: #fff;\n  background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n  font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n  padding: 6px;\n  font-size: 15px;\n  margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n  background: #eceff1;\n  border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n  background: rgba(0,0,0,.7);\n  border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n  display: inline-block;\n  margin-left: 5px;\n  font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n  display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n  padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n  display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n  margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n  width: 12px;\n  height: 12px;\n  position: relative;\n  top: 0;\n  margin-right: 10px;\n  border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n  padding: 0 10px;\n  display: none;\n  text-align: left;\n  justify-content: left;\n  align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n  opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n  padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n  opacity: 0;\n  height: 0;\n  line-height: 0;\n  padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n  padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n  padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n  display: flex;\n  flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n  margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n  font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n  padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n  font-weight: 600;\n  color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n  font-weight: 700;\n  display: block;\n  margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n  opacity: 0;\n  pointer-events: none;\n  color: #373d3f;\n  font-size: 13px;\n  text-align: center;\n  border-radius: 2px;\n  position: absolute;\n  z-index: 10;\n  background: #eceff1;\n  border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n  padding: 9px 10px;\n  transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n  background: rgba(0,0,0,.7);\n  border: 1px solid rgba(0,0,0,.5);\n  color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n  left: 50%;\n  border: solid transparent;\n  content: " ";\n  height: 0;\n  width: 0;\n  position: absolute;\n  pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n  border-color: transparent;\n  border-width: 6px;\n  margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n  border-color: transparent;\n  border-width: 7px;\n  margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n  bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n  top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n  border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n  border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n  border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n  border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n  border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n  border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n  padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n  background: rgba(0,0,0,.7);\n  border: 1px solid rgba(0,0,0,.5);\n  color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n  top: 50%;\n  border: solid transparent;\n  content: " ";\n  height: 0;\n  width: 0;\n  position: absolute;\n  pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n  border-color: transparent;\n  border-width: 6px;\n  margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n  border-color: transparent;\n  border-width: 7px;\n  margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n  left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n  right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n  border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n  border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n  border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n  border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n  border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n  border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n  opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n  display: none\n}
28416\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n  pointer-events: none;\n  opacity: 0;\n  transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n  opacity: 1;\n  transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n  opacity: 0\n}\n\n.apexcharts-selection-rect {\n  cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n  pointer-events: none;\n  opacity: 0;\n  visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n  opacity: 0;\n  visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n  cursor: ew-resize;\n  opacity: 1;\n  visibility: visible\n}\n\n.svg_select_points {\n  fill: #efefef;\n  stroke: #333;\n  rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n  cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n  cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n  cursor: pointer;\n  width: 20px;\n  height: 20px;\n  line-height: 24px;\n  color: #6e8192;\n  text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n  fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n  fill: #444;\n  transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n  fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n  fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n  fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n  position: relative\n}\n\n.apexcharts-reset-icon {\n  margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n  transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n  transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n  margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n  transform: scale(.62);\n  position: relative;\n  left: 1px;\n  top: 0\n}\n\n.apexcharts-pan-icon svg {\n  fill: #fff;\n  stroke: #6e8192;\n  stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n  stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n  stroke: #333\n}\n\n.apexcharts-toolbar {\n  position: absolute;\n  z-index: 11;\n  max-width: 176px;\n  text-align: right;\n  border-radius: 3px;\n  padding: 0 6px 2px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center\n}\n\n.apexcharts-menu {\n  background: #fff;\n  position: absolute;\n  top: 100%;\n  border: 1px solid #ddd;\n  border-radius: 3px;\n  padding: 3px;\n  right: 10px;\n  opacity: 0;\n  min-width: 110px;\n  transition: .15s ease all;\n  pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n  opacity: 1;\n  pointer-events: all;\n  transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n  padding: 6px 7px;\n  font-size: 12px;\n  cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n  background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n  background: rgba(0,0,0,.7);\n  color: #fff\n}\n\n@media screen and (min-width:768px) {\n  .apexcharts-canvas:hover .apexcharts-toolbar {\n      opacity: 1\n  }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n  opacity: 0\n}\n\n.apexcharts-hidden-element-shown {\n  opacity: 1;\n  transition: 0.25s ease all;\n}\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n  cursor: default;\n  pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n  opacity: 0;\n  animation-name: opaque;\n  animation-duration: .3s;\n  animation-fill-mode: forwards;\n  animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n  cursor: pointer;\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n  pointer-events: none\n}\n\n.apexcharts-marker {\n  transition: .15s ease all\n}\n\n.resize-triggers {\n  animation: 1ms resizeanim;\n  visibility: hidden;\n  opacity: 0;\n  height: 100%;\n  width: 100%;\n  overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>
28416div {\n  content: " ";\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0\n}\n\n.resize-triggers>div {\n  height: 100%;\n  width: 100%;\n  background: #eee;\n  overflow: auto\n}\n\n.contract-trigger:before {\n  overflow: hidden;\n  width: 200%;\n  height: 200%\n}\n\n.apexcharts-bar-goals-markers{\n  pointer-events: none\n}\n\n.apexcharts-bar-shadows{\n  pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers{\n  pointer-events: none\n}');
28417                      var h =
28418                        (null === (l = t.opts.chart) || void 0 === l
28419                          ? void 0
28420                          : l.nonce) || t.w.config.chart.nonce;
28421                      h && t.css.setAttribute("nonce", h),
28422                        r ? s.prepend(t.css) : o.head.appendChild(t.css);
28423                    }
28424                  }
28425                  var c = t.create(t.w.config.series, {});
28426                  if (!c) return e(t);
28427                  t.mount(c)
28428                    .then(function () {
28429                      "function" == typeof t.w.config.chart.events.mounted &&
28430                        t.w.config.chart.events.mounted(t, t.w),
28431                        t.events.fireEvent("mounted", [t, t.w]),
28432                        e(c);
28433                    })
28434                    .catch(function (t) {
28435                      i(t);
28436                    });
28437                } else i(new Error("Element not found"));
28438              });
28439            },
28440          },
28441          {
28442            key: "create",
28443            value: function (t, e) {
28444              var i = this.w;
28445              new Gt(this).initModules();
28446              var a = this.w.globals;
28447              ((a.noData = !1),
28448              (a.animationEnded = !1),
28449              this.responsive.checkResponsiveConfig(e),
28450              i.config.xaxis.convertedCatToNumeric) &&
28451                new X(i.config).convertCatToNumericXaxis(i.config, this.ctx);
28452              if (null === this.el) return (a.animationEnded = !0), null;
28453              if (
28454                (this.core.setupElements(),
28455                "treemap" === i.config.chart.type &&
28456                  ((i.config.grid.show = !1), (i.config.yaxis[0].show = !1)),
28457                0 === a.svgWidth)
28458              )
28459                return (a.animationEnded = !0), null;
28460              var s = y.checkComboSeries(t);
28461              (a.comboCharts = s.comboCharts),
28462                (a.comboBarCount = s.comboBarCount);
28463              var r = t.every(function (t) {
28464                return t.data && 0 === t.data.length;
28465              });
28466              (0 === t.length || r) && this.series.handleNoData(),
28467                this.events.setupEventHandlers(),
28468                this.data.parseData(t),
28469                this.theme.init(),
28470                new H(this).setGlobalMarkerSize(),
28471                this.formatters.setLabelFormatters(),
28472                this.titleSubtitle.draw(),
28473                (a.noData &&
28474                  a.collapsedSeries.length !== a.series.length &&
28475                  !i.config.legend.showForSingleSeries) ||
28476                  this.legend.init(),
28477                this.series.hasAllSeriesEqualX(),
28478                a.axisCharts &&
28479                  (this.core.coreCalculations(),
28480                  "category" !== i.config.xaxis.type &&
28481                    this.formatters.setLabelFormatters(),
28482                  (this.ctx.toolbar.minX = i.globals.minX),
28483                  (this.ctx.toolbar.maxX = i.globals.maxX)),
28484                this.formatters.heatmapLabelFormatters(),
28485                new y(this).getLargestMarkerSize(),
28486                this.dimensions.plotCoords();
28487              var o = this.core.xySettings();
28488              this.grid.createGridMask();
28489              var n = this.core.plotChartType(t, o),
28490                l = new O(this);
28491              return (
28492                l.bringForward(),
28493                i.config.dataLabels.background.enabled &&
28494                  l.dataLabelsBackground(),
28495                this.core.shiftGraphPosition(),
28496                {
28497                  elGraph: n,
28498                  xyRatios: o,
28499                  dimensions: {
28500                    plot: {
28501                      left: i.globals.translateX,
28502                      top: i.globals.translateY,
28503                      width: i.globals.gridWidth,
28504                      height: i.globals.gridHeight,
28505                    },
28506                  },
28507                }
28508              );
28509            },
28510          },
28511          {
28512            key: "mount",
28513            value: function () {
28514              var t = this,
28515                e =
28516                  arguments.length > 0 && void 0 !== arguments[0]
28517                    ? arguments[0]
28518                    : null,
28519                i = this,
28520                a = i.w;
28521              return new Promise(function (s, r) {
28522                if (null === i.el)
28523                  return r(
28524                    new Error(
28525                      "Not enough data to display or target element not found"
28526                    )
28527                  );
28528                (null === e || a.globals.allSeriesCollapsed) &&
28529                  i.series.handleNoData(),
28530                  (i.grid = new j(i));
28531                var o,
28532                  n,
28533                  l = i.grid.drawGrid();
28534                ((i.annotations = new P(i)),
28535                i.annotations.drawImageAnnos(),
28536                i.annotations.drawTextAnnos(),
28537                "back" === a.config.grid.position) &&
28538                  (l && a.globals.dom.elGraphical.add(l.el),
28539                  null != l &&
28540                    null !== (o = l.elGridBorders) &&
28541                    void 0 !== o &&
28542                    o.node &&
28543                    a.globals.dom.elGraphical.add(l.elGridBorders));
28544                if (Array.isArray(e.elGraph))
28545                  for (var h = 0; h < e.elGraph.length; h++)
28546                    a.globals.dom.elGraphical.add(e.elGraph[h]);
28547                else a.globals.dom.elGraphical.add(e.elGraph);
28548                "front" === a.config.grid.position &&
28549                  (l && a.globals.dom.elGraphical.add(l.el),
28550                  null != l &&
28551                    null !== (n = l.elGridBorders) &&
28552                    void 0 !== n &&
28553                    n.node &&
28554                    a.globals.dom.elGraphical.add(l.elGridBorders));
28555                "front" === a.config.xaxis.crosshairs.position &&
28556                  i.crosshairs.drawXCrosshairs(),
28557                  "front" === a.config.yaxis[0].crosshairs.position &&
28558                    i.crosshairs.drawYCrosshairs(),
28559                  "treemap" !== a.config.chart.type &&
28560                    i.axes.drawAxis(a.config.chart.type, l);
28561                var c = new V(t.ctx, l),
28562                  d = new q(t.ctx, l);
28563                if (
28564                  (null !== l &&
28565                    (c.xAxisLabelCorrections(l.xAxisTickWidth),
28566                    d.setYAxisTextAlignments(),
28567                    a.config.yaxis.map(function (t, e) {
28568                      -1 === a.globals.ignoreYAxisIndexes.indexOf(e) &&
28569                        d.yAxisTitleRotate(e, t.opposite);
28570                    })),
28571                  i.annotations.drawAxesAnnotations(),
28572                  !a.globals.noData)
28573                ) {
28574                  if (
28575                    (a.config.tooltip.enabled &&
28576                      !a.globals.noData &&
28577                      i.w.globals.tooltip.drawTooltip(e.xyRatios),
28578                    a.globals.axisCharts &&
28579                      (a.globals.isXNumeric ||
28580                        a.config.xaxis.convertedCatToNumeric ||
28581                        a.globals.isRangeBar))
28582                  )
28583                    (a.config.chart.zoom.enabled ||
28584                      (a.config.chart.selection &&
28585                        a.config.chart.selection.enabled) ||
28586                      (a.config.chart.pan && a.config.chart.pan.enabled)) &&
28587                      i.zoomPanSelection.init({ xyRatios: e.xyRatios });
28588                  else {
28589                    var g = a.config.chart.toolbar.tools;
28590                    [
28591                      "zoom",
28592                      "zoomin",
28593                      "zoomout",
28594                      "selection",
28595                      "pan",
28596                      "reset",
28597                    ].forEach(function (t) {
28598                      g[t] = !1;
28599                    });
28600                  }
28601                  a.config.chart.toolbar.show &&
28602                    !a.globals.allSeriesCollapsed &&
28603                    i.toolbar.createToolbar();
28604                }
28605                a.globals.memory.methodsToExec.length > 0 &&
28606                  a.globals.memory.methodsToExec.forEach(function (t) {
28607                    t.method(t.params, !1, t.context);
28608                  }),
28609                  a.globals.axisCharts ||
28610                    a.globals.noData ||
28611                    i.core.resizeNonAxisCharts(),
28612                  s(i);
28613              });
28614            },
28615          },
28616          {
28617            key: "destroy",
28618            value: function () {
28619              var t, e;
28620              window.removeEventListener("resize", this.windowResizeHandler),
28621                this.el.parentNode,
28622                (t = this.parentResizeHandler),
28623                (e = jt.get(t)) && (e.disconnect(), jt.delete(t));
28624              var i = this.w.config.chart.id;
28625              i &&
28626                Apex._chartInstances.forEach(function (t, e) {
28627                  t.id === x.escapeString(i) &&
28628                    Apex._chartInstances.splice(e, 1);
28629                }),
28630                new Vt(this.ctx).clear({ isUpdating: !1 });
28631            },
28632          },
28633          {
28634            key: "updateOptions",
28635            value: function (t) {
28636              var e = this,
28637                i =
28638                  arguments.length > 1 &&
28639                  void 0 !== arguments[1] &&
28640                  arguments[1],
28641                a =
28642                  !(arguments.length > 2 && void 0 !== arguments[2]) ||
28643                  arguments[2],
28644                s =
28645                  !(arguments.length > 3 && void 0 !== arguments[3]) ||
28646                  arguments[3],
28647                r =
28648                  !(arguments.length > 4 && void 0 !== arguments[4]) ||
28649                  arguments[4],
28650                o = this.w;
28651              return (
28652                (o.globals.selection = void 0),
28653                t.series &&
28654                  (this.series.resetSeries(!1, !0, !1),
28655                  t.series.length &&
28656                    t.series[0].data &&
28657                    (t.series = t.series.map(function (t, i) {
28658                      return e.updateHelpers._extendSeries(t, i);
28659                    })),
28660                  this.updateHelpers.revertDefaultAxisMinMax()),
28661                t.xaxis && (t = this.updateHelpers.forceXAxisUpdate(t)),
28662                t.yaxis && (t = this.updateHelpers.forceYAxisUpdate(t)),
28663                o.globals.collapsedSeriesIndices.length > 0 &&
28664                  this.series.clearPreviousPaths(),
28665                t.theme && (t = this.theme.updateThemeOptions(t)),
28666                this.updateHelpers._updateOptions(t, i, a, s, r)
28667              );
28668            },
28669          },
28670          {
28671            key: "updateSeries",
28672            value: function () {
28673              var t =
28674                  arguments.length > 0 && void 0 !== arguments[0]
28675                    ? arguments[0]
28676                    : [],
28677                e =
28678                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28679                  arguments[1],
28680                i =
28681                  !(arguments.length > 2 && void 0 !== arguments[2]) ||
28682                  arguments[2];
28683              return (
28684                this.series.resetSeries(!1),
28685                this.updateHelpers.revertDefaultAxisMinMax(),
28686                this.updateHelpers._updateSeries(t, e, i)
28687              );
28688            },
28689          },
28690          {
28691            key: "appendSeries",
28692            value: function (t) {
28693              var e =
28694                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28695                  arguments[1],
28696                i =
28697                  !(arguments.length > 2 && void 0 !== arguments[2]) ||
28698                  arguments[2],
28699                a = this.w.config.series.slice();
28700              return (
28701                a.push(t),
28702                this.series.resetSeries(!1),
28703                this.updateHelpers.revertDefaultAxisMinMax(),
28704                this.updateHelpers._updateSeries(a, e, i)
28705              );
28706            },
28707          },
28708          {
28709            key: "appendData",
28710            value: function (t) {
28711              var e =
28712                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28713                  arguments[1],
28714                i = this;
28715              (i.w.globals.dataChanged = !0), i.series.getPreviousPaths();
28716              for (var a = i.w.config.series.slice(), s = 0; s < a.length; s++)
28717                if (null !== t[s] && void 0 !== t[s])
28718                  for (var r = 0; r < t[s].data.length; r++)
28719                    a[s].data.push(t[s].data[r]);
28720              return (
28721                (i.w.config.series = a),
28722                e && (i.w.globals.initialSeries = x.clone(i.w.config.series)),
28723                this.update()
28724              );
28725            },
28726          },
28727          {
28728            key: "update",
28729            value: function (t) {
28730              var e = this;
28731              return new Promise(function (i, a) {
28732                new Vt(e.ctx).clear({ isUpdating: !0 });
28733                var s = e.create(e.w.config.series, t);
28734                if (!s) return i(e);
28735                e.mount(s)
28736                  .then(function () {
28737                    "function" == typeof e.w.config.chart.events.updated &&
28738                      e.w.config.chart.events.updated(e, e.w),
28739                      e.events.fireEvent("updated", [e, e.w]),
28740                      (e.w.globals.isDirty = !0),
28741                      i(e);
28742                  })
28743                  .catch(function (t) {
28744                    a(t);
28745                  });
28746              });
28747            },
28748          },
28749          {
28750            key: "getSyncedCharts",
28751            value: function () {
28752              var t = this.getGroupedCharts(),
28753                e = [this];
28754              return (
28755                t.length &&
28756                  ((e = []),
28757                  t.forEach(function (t) {
28758                    e.push(t);
28759                  })),
28760                e
28761              );
28762            },
28763          },
28764          {
28765            key: "getGroupedCharts",
28766            value: function () {
28767              var t = this;
28768              return Apex._chartInstances
28769                .filter(function (t) {
28770                  if (t.group) return !0;
28771                })
28772                .map(function (e) {
28773                  return t.w.config.chart.group === e.group ? e.chart : t;
28774                });
28775            },
28776          },
28777          {
28778            key: "toggleSeries",
28779            value: function (t) {
28780              return this.series.toggleSeries(t);
28781            },
28782          },
28783          {
28784            key: "highlightSeriesOnLegendHover",
28785            value: function (t, e) {
28786              return this.series.toggleSeriesOnHover(t, e);
28787            },
28788          },
28789          {
28790            key: "showSeries",
28791            value: function (t) {
28792              this.series.showSeries(t);
28793            },
28794          },
28795          {
28796            key: "hideSeries",
28797            value: function (t) {
28798              this.series.hideSeries(t);
28799            },
28800          },
28801          {
28802            key: "isSeriesHidden",
28803            value: function (t) {
28804              this.series.isSeriesHidden(t);
28805            },
28806          },
28807          {
28808            key: "resetSeries",
28809            value: function () {
28810              var t =
28811                  !(arguments.length > 0 && void 0 !== arguments[0]) ||
28812                  arguments[0],
28813                e =
28814                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28815                  arguments[1];
28816              this.series.resetSeries(t, e);
28817            },
28818          },
28819          {
28820            key: "addEventListener",
28821            value: function (t, e) {
28822              this.events.addEventListener(t, e);
28823            },
28824          },
28825          {
28826            key: "removeEventListener",
28827            value: function (t, e) {
28828              this.events.removeEventListener(t, e);
28829            },
28830          },
28831          {
28832            key: "addXaxisAnnotation",
28833            value: function (t) {
28834              var e =
28835                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28836                  arguments[1],
28837                i =
28838                  arguments.length > 2 && void 0 !== arguments[2]
28839                    ? arguments[2]
28840                    : void 0,
28841                a = this;
28842              i && (a = i), a.annotations.addXaxisAnnotationExternal(t, e, a);
28843            },
28844          },
28845          {
28846            key: "addYaxisAnnotation",
28847            value: function (t) {
28848              var e =
28849                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28850                  arguments[1],
28851                i =
28852                  arguments.length > 2 && void 0 !== arguments[2]
28853                    ? arguments[2]
28854                    : void 0,
28855                a = this;
28856              i && (a = i), a.annotations.addYaxisAnnotationExternal(t, e, a);
28857            },
28858          },
28859          {
28860            key: "addPointAnnotation",
28861            value: function (t) {
28862              var e =
28863                  !(arguments.length > 1 && void 0 !== arguments[1]) ||
28864                  arguments[1],
28865                i =
28866                  arguments.length > 2 && void 0 !== arguments[2]
28867                    ? arguments[2]
28868                    : void 0,
28869                a = this;
28870              i && (a = i), a.annotations.addPointAnnotationExternal(t, e, a);
28871            },
28872          },
28873          {
28874            key: "clearAnnotations",
28875            value: function () {
28876              var t =
28877                  arguments.length > 0 && void 0 !== arguments[0]
28878                    ? arguments[0]
28879                    : void 0,
28880                e = this;
28881              t && (e = t), e.annotations.clearAnnotations(e);
28882            },
28883          },
28884          {
28885            key: "removeAnnotation",
28886            value: function (t) {
28887              var e =
28888                  arguments.length > 1 && void 0 !== arguments[1]
28889                    ? arguments[1]
28890                    : void 0,
28891                i = this;
28892              e && (i = e), i.annotations.removeAnnotation(i, t);
28893            },
28894          },
28895          {
28896            key: "getChartArea",
28897            value: function () {
28898              return this.w.globals.dom.baseEl.querySelector(
28899                ".apexcharts-inner"
28900              );
28901            },
28902          },
28903          {
28904            key: "getSeriesTotalXRange",
28905            value: function (t, e) {
28906              return this.coreUtils.getSeriesTotalsXRange(t, e);
28907            },
28908          },
28909          {
28910            key: "getHighestValueInSeries",
28911            value: function () {
28912              var t =
28913                arguments.length > 0 && void 0 !== arguments[0]
28914                  ? arguments[0]
28915                  : 0;
28916              return new U(this.ctx).getMinYMaxY(t).highestY;
28917            },
28918          },
28919          {
28920            key: "getLowestValueInSeries",
28921            value: function () {
28922              var t =
28923                arguments.length > 0 && void 0 !== arguments[0]
28924                  ? arguments[0]
28925                  : 0;
28926              return new U(this.ctx).getMinYMaxY(t).lowestY;
28927            },
28928          },
28929          {
28930            key: "getSeriesTotal",
28931            value: function () {
28932              return this.w.globals.seriesTotals;
28933            },
28934          },
28935          {
28936            key: "toggleDataPointSelection",
28937            value: function (t, e) {
28938              return this.updateHelpers.toggleDataPointSelection(t, e);
28939            },
28940          },
28941          {
28942            key: "zoomX",
28943            value: function (t, e) {
28944              this.ctx.toolbar.zoomUpdateOptions(t, e);
28945            },
28946          },
28947          {
28948            key: "setLocale",
28949            value: function (t) {
28950              this.localization.setCurrentLocaleValues(t);
28951            },
28952          },
28953          {
28954            key: "dataURI",
28955            value: function (t) {
28956              return new G(this.ctx).dataURI(t);
28957            },
28958          },
28959          {
28960            key: "exportToCSV",
28961            value: function () {
28962              var t =
28963                arguments.length > 0 && void 0 !== arguments[0]
28964                  ? arguments[0]
28965                  : {};
28966              return new G(this.ctx).exportToCSV(t);
28967            },
28968          },
28969          {
28970            key: "paper",
28971            value: function () {
28972              return this.w.globals.dom.Paper;
28973            },
28974          },
28975          {
28976            key: "_parentResizeCallback",
28977            value: function () {
28978              this.w.globals.animationEnded &&
28979                this.w.config.chart.redrawOnParentResize &&
28980                this._windowResize();
28981            },
28982          },
28983          {
28984            key: "_windowResize",
28985            value: function () {
28986              var t = this;
28987              clearTimeout(this.w.globals.resizeTimer),
28988                (this.w.globals.resizeTimer = window.setTimeout(function () {
28989                  (t.w.globals.resized = !0),
28990                    (t.w.globals.dataChanged = !1),
28991                    t.ctx.update();
28992                }, 150));
28993            },
28994          },
28995          {
28996            key: "_windowResizeHandler",
28997            value: function () {
28998              var t = this.w.config.chart.redrawOnWindowResize;
28999              "function" == typeof t && (t = t()), t && this._windowResize();
29000            },
29001          },
29002        ],
29003        [
29004          {
29005            key: "getChartByID",
29006            value: function (t) {
29007              var e = x.escapeString(t);
29008              if (Apex._chartInstances) {
29009                var i = Apex._chartInstances.filter(function (t) {
29010                  return t.id === e;
29011                })[0];
29012                return i && i.chart;
29013              }
29014            },
29015          },
29016          {
29017            key: "initOnLoad",
29018            value: function () {
29019              for (
29020                var e = document.querySelectorAll("[data-apexcharts]"), i = 0;
29021                i < e.length;
29022                i++
29023              ) {
29024                new t(
29025                  e[i],
29026                  JSON.parse(e[i].getAttribute("data-options"))
29027                ).render();
29028              }
29029            },
29030          },
29031          {
29032            key: "exec",
29033            value: function (t, e) {
29034              var i = this.getChartByID(t);
29035              if (i) {
29036                i.w.globals.isExecCalled = !0;
29037                var a = null;
29038                if (-1 !== i.publicMethods.indexOf(e)) {
29039                  for (
29040                    var s = arguments.length,
29041                      r = new Array(s > 2 ? s - 2 : 0),
29042                      o = 2;
29043                    o < s;
29044                    o++
29045                  )
29046                    r[o - 2] = arguments[o];
29047                  a = i[e].apply(i, r);
29048                }
29049                return a;
29050              }
29051            },
29052          },
29053          {
29054            key: "merge",
29055            value: function (t, e) {
29056              return x.extend(t, e);
29057            },
29058          },
29059        ]
29060      ),
29061      t
29062    );
29063  })();
29064  return _t;
29065});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.